编程马拉松(7)
引自第八阁论坛:http://bbs.chinadbg.cn/forum-7-1.html飞翔技术论坛:http://www.powk.net/bbs/forumdisplay.php?fid=4&page=1
输入二组文字,输出每组的长度,其中大写字母,小写字母,空格,数字及其它字符各有多少?比较大小,关连接两组到一组输出。
要求用通用指针自定义字串函数。
天圆地方的delphi代码:
//自定函数
Function StringContent(TmpString:String):string;
var
i,LenNum,LNum,BNum,SNum,NNum,ONum:integer;
Tmp:char;
begin
LNum:=0;
BNum:=0;
SNum:=0;
NNum:=0;
ONum:=0;
LenNum:=Length(TmpString);
for i:=1 to LenNum do
begin
Tmp:=TmpString;
case Tmp of
'a'..'z':LNum:=LNum+1;
'A'..'Z':BNum:=BNum+1;
'0'..'9':NNum:=NNum+1;
' ':SNum:=SNum+1;
else ONum:=ONum+1;
end;
end;
Result:=Format('字符长度为:%s;小写字母有:%s个;大写字母有:%s;空格有:%s个;其它字符有%s个。',);
end;
//函数调用
procedure TForm1.Button1Click(Sender: TObject);
Var
TmpString1,TmpString2:string;
begin
TmpString1:='123123as dfa#s$d%f';
TmpString2:='a;sdfaf pqweurq]][';
ShowMessage('字符串1:'+StringContent(TmpString1));
ShowMessage('字符串2:'+StringContent(TmpString2));
ShowMessage(TmpString1+TmpString2);
end;
freesoft的C++代码:
C++代码:
#include <iostream>
//#include <string>
using namespace std;
int strle(const char *string)
{//字串长度
int len=0;
while(*string)
{
len++;
*string++;
}
return len;
}
void strca(const char *str1,const char *str2)
{//字串连接
int i1=0,i2=0;
char string;
while(str1!='\0')
{
string=str1;
i1++;
}
while(str2!='\0')
{
string=str2;
i1++;
i2++;
}
string='\0';
cout<<"两个字符串合并为:\n"<<string<<endl;
}
void strcm(const char *str1,const char *str2)
{//比较字串大小
while((*str1==*str2)&&(*str1))
{
*str1++;
*str2++;
}
if ((*str1==*str2)&&(!*str1))
cout<<"两个字符串一样"<<"\n";
else if((*str1)&&(!*str2))
cout<<"第一个字符串大于第二个字符串"<<"\n";
else if((*str2)&&(!*str1))
cout<<"第二个字符串大于第一个字符串"<<"\n";
elseif((*str1)>(*str2))
cout<<"第一个字符串大于第二个字符串"<<"\n";
else cout<<"第二个字符串大于第一个字符串"<<"\n";
}
void showall(const char *string)
{
int num1=0,num2=0,num3=0;
while(*string)
{
if(*string>='a'&&*string<='z')num1++;
if(*string>='A'&&*string<='Z')num2++;
if(*string>='0'&&*string<='9')num3++;
*string++;
}
cout<<"你输入的字符串中小写字母"<<num1<<"\n"
<<"你输入的字符串中大写字母"<<num2<<"\n"
<<"你输入的字符串中数字"<<num3<<"\n";
}
void main()
{
char str1,str2;
cout<<"请输入两组字符串用回车分开"<<endl;
cin>>str1>>str2;
cout<<"你输入的第一个字符串是:"<<str1<<""<<"长度是:"<<strle(str1)<<"\n";
showall(str1);
cout<<"你输入的第二个字符串是:"<<str2<<""<<"长度是:"<<strle(str2)<<"\n";
showall(str2);
strcm(str1,str2);
strca(str1,str2);
}
学习了 `````/:001 主要是学习,现在我停一天,因为要开始说结构体和类的东西。。了
页:
[1]