哥哥姐姐们:
你们好,这里有道从c++编程题,希望帮帮我,好么 ?在线等候帮助,
n编写一个字符串比较大小的函数,完成与库函数strcmp()一样的功能。其函数原型为: StrCompare(const char*str1,const char* str2); 在主函数中,询问用户输入两个字符串(长度<=20),使用getline函数读入这两个字符串,调用Strcompare()函数,输出此字符串的比较结果。
#include <iostream> using namespace std; void StrCompare(const char*str1,const char* str2); int main(){ char a[20]; char b[20]; cout<<"请输入第1个字符串"; cin>>a; cout<<"请输入第2个字符串"; cin>>b; StrCompare(a,b); return 0; }
void StrCompare(const char*str1,const char* str2) { int i=0; while(str1[i]!='\0'&&str2[i]!='\0') { if(str1[i]>str2[i]) { cout<<"第1个大"<<endl; break; } else { if(str1[i]<str2[i]) { cout<<"第2个大"<<endl; break; } else{i++;} } } if(str1[i]=='\0'&&str2[i]!='\0'){cout<<"第2个大"<<endl;} else {if(str2[i]=='\0'&&str1[i]!='\0'){cout<<"第1个大"<<endl;} else {cout<<"一样大"<<endl;} } }
//不好意思,手痒,用getline()做了个。
#include <iostream.h>
void StrCompare(const char*str1,const char* str2) { while(*str1&&*str2) { if(*str1>*str2) { cout<<"str1>str2"<<endl; return; } else if(*str1<*str2) { cout<<"str1<str2"<<endl; return; } else { str1++; str2++; } }
cout<<"str1==str2"<<endl; }
int main() { char line1[21],line2[21]; cin.getline(line1,21); cin.getline(line2,21); if(*line1 && *line2) StrCompare(line1,line2); return 0; }
[此贴子已经被作者于2004-11-11 23:01:41编辑过]