编写一个程序,对两个字符串s1和s2进行比较。若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要使用strcmp函数,两个字符串用gets函数读入。输出的正数或负数的绝对值是相比较的两个字符串相应字符的ASCII码的差值。例如,‘a’与‘c’比,由于‘a’<‘c’,应输出负数,由于‘a’与‘c’的ASCII码值相差2,因此输出2。比如and与aid比较,根据第2个字符比较结果,‘n’>‘i’,故输出5
时间: 2024-03-24 10:42:03 浏览: 105
用一个函数实现两个字符串的比较,即自己写一个 strcmp 函数
好的,以下是我给你编写的程序,请查收:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100], s2[100];
int i;
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
for(i = 0; s1[i] != '\0' && s2[i] != '\0'; i++)
{
if(s1[i] > s2[i])
{
printf("%d", s1[i] - s2[i]);
return 0;
}
else if(s1[i] < s2[i])
{
printf("%d", s1[i] - s2[i]);
return 0;
}
}
if(strlen(s1) > strlen(s2))
{
printf("%d", s1[i]);
}
else if(strlen(s1) < strlen(s2))
{
printf("%d", -s2[i]);
}
else
{
printf("0");
}
return 0;
}
```
注意:由于gets函数存在安全性问题,建议使用fgets函数代替,如:
```c
fgets(s1, sizeof(s1), stdin);
fgets(s2, sizeof(s2), stdin);
```
阅读全文