输入两个字符串,一行一个字符串
最后输出两个字符串大小比较(忽略大小写题目要求)
我的思路:把x,y读入
转化为char*数组(我一开始用char[],后来说这个好像是不可变的)
然后遍历字符,碰到大写字母就转化小写
最后比较
但是报错了,为什么?该怎么改,必采纳!
#include <iostream>
#include <string>
using namespace std;
int main()
{
string x,y;
cin>>x>>y;
char* s1=x,s2=y;
for (int i = 0;i<x.size();i++){
if ('A'<=s1[i]&&s1[i]<='Z'){
s1[i] = (char) s1[i]+32;
}
}
for (int i = 0;i<y.size();i++){
if ('A'<=s2[i]&&s2[i]<='Z'){
s2[i] = (char) s2[i]+32;
}
}
if strcmp(s1,s2)>0 cout<<">";
if strcmp(s1,s2)==0 cout<<"=";
if strcmp(s1,s2)<0 cout<<"<";
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char x[80],y[80];
fgets(x,80,stdin);
fgets(y,80,stdin);
int r=stricmp(x,y);
if (r> 0) printf(">");
if (r==0) printf("=");
if (r< 0) printf("<");
return 0;
}