编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII 码的差值。例如"A"与"C"相比,由于"A"<"C",应输出负数,同时由于'A'与'C'的ASCII码差值为2.因此应输出“-2”。同理: "And 和"Aid"比较,根据第2个字符比较结果,"n"比"i"的ASCII码大5.因此应输出“5”
时间: 2023-06-10 07:05:03 浏览: 70
两个字符串相比较的方法
好的,根据您的要求,我给您提供一个简单的程序:
```
#include <stdio.h>
int main() {
char s1[100], s2[100];
int i, result = 0;
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
for (i = 0; s1[i] != '\0' && s2[i] != '\0'; i++) {
if (s1[i] != s2[i]) { // 如果有不相等的字符,则直接计算 ASCII 码差值并返回
result = s1[i] - s2[i];
break;
}
}
if (result == 0 && s1[i] == '\0' && s2[i] == '\0') { // 如果两个字符串全都相等,则返回 0
printf("0");
} else {
printf("%d", result);
}
return 0;
}
```
这个程序会读取两个字符串,然后逐个比较它们的字符,直到找到第一个不相等的字符。如果两个字符串全都相等,则返回 0。否则,返回相应字符的 ASCII 码差值。
阅读全文