题目如下
编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值是相比较的两个字符串第一个不同的相应字符的ASCII码的差值。例如“A”与“C”比,由于“A”<“C”,应输出负数,同时由于两者ASCII码差值为2,因此应输出-2。同理,“And”和“Aid”比较,根据第二个字符比较结果,‘n’比‘i’大5,因此输出5
见代码
1 #define _CRT_SECURE_NO_WARNINGS 1 2 #include<stdio.h> 3 int main() 4 { 5 char arr_1[100]; char arr_2[100]; 6 puts("请输入两个字符串:\n"); 7 gets(arr_1); gets(arr_2);//gets()有自动抛弃回车的功能,scanf+%s没有 8 int i, resu; i = 0; 9 while ((arr_1[i] == arr_2[i]) && (arr_1[i] != '\0')) i++;//arr_1[i] != '\0'是为了防止两个都等于'\0'还i++ 10 if (arr_1[i] == '\0' && arr_2[i] == '\0') resu = 0; 11 else resu = arr_1[i] - arr_2[i]; 12 printf("result:%d\n", resu); 13 return 0; 14 }