编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是
时间: 2023-12-29 20:24:09 浏览: 114
两个字符串的比较可以通过逐个比较字符的ASCII码来实现。具体实现方法如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[100], s2[100];
int i, len1, len2, result = 0;
gets(s1);
gets(s2);
len1 = strlen(s1);
len2 = strlen(s2);
for (i = 0; i < len1 && i < len2; i++) {
if (s1[i] > s2[i]) {
result = s1[i] - s2[i];
break;
} else if (s1[i] < s2[i]) {
result = s1[i] - s2[i];
break;
}
}
if (result == 0 && len1 != len2) {
result = len1 - len2;
}
printf("%d", result);
return 0;
}
```
其中,gets函数用于读入两个字符串,strlen函数用于获取字符串的长度,逐个比较字符的ASCII码,如果s1>s2,则输出一个正数;如果s1=s2,则输出0;如果s1<s2,则输出一个负数。输出的正数或负数的绝对值应是相比较两个字符串相应字符ASCII码的差值。
阅读全文