题目名称:字符串比较
题目描述:按字母顺序比较两个字符串ch1和ch2的大小,若相等,则输出0;否则输出其第一个不相等的字符的acsii编码差值。
输入描述:输入只有一组,首先在第一行上输入字符串ch1,然后在第二行输入字符串ch2,保证每个字符串长度不超过80。
输出描述:在一行上输出比较结果。若相等,则输出0;否则输出其第一个不相等的字符的acsii编码绝对差值。
样例输入:
abcdefg
abcdefh
样例输出:
1
*/
#include<iostream>
using namespace std;
int main(){
return 0;
}
测试图:
代码如下(重点是实现思路,切勿直接复制粘贴):
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
int len,len1,i,p;
char ch1[80],ch2[80];
gets(ch1);
gets(ch2);
len=strlen(ch1);
len1=strlen(ch2);
if(strcmp(ch1,ch2)==0)
cout<<"0"<<endl;
if(strcmp(ch1,ch2)>0)
{
for(i=0;ch1[i]!='\0';i++){
if(ch1[i]!=ch2[i]){
p=abs(ch1[i]-ch2[i]);
cout<<p<<endl;
break;}
}
}
if(strcmp(ch1,ch2)<0)
{
for(i=0;ch2[i]!='\0';i++)
{
if(ch1[i]!=ch2[i]){
p=abs(ch1[i]-ch2[i]);
cout<<p<<endl;
break;}
}
}
return 0;
}
希望对题主有所帮助,可以的话,帮忙点个采纳!
像这种的输出啥:
abc
ab
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a, b;
cin >> a >> b;
const char *p = a.c_str();
const char *q = b.c_str();
while (*p && *q && *p == *q)
{
p++;
q++;
}
cout << abs(*p - *q);
return 0;
}