编写一个程序,将两个字符串s1和s2进行比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。要求:不能使用strcmp函数,输出的正数或负数的值是相比较的两个字符串相应字符的ASCII码的差值。例如:"a"和"c"相比较,应输出-2。“And”和“Aic”比较,应输出第一个不相等的字符'n'和'i'的ASCII码的差值,即5。
说明:
(1)输入格式:gets()
(2)提示性文字的输出格式: "input two strings:"
结果输出格式:"\nresult:%d\n"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i, k, m, n,tmp;
char s1[10];
char s2[10];
printf("input two strings:\n");
gets(s1);
m=strlen(s1);
gets(s2);
n=strlen(s2);
tmp=(m>n)?m:n;
k=tmp-1;
for (i=0;i<tmp;i++)
{
if (s1[i]==s2[i]&&i!=k)
continue;
else
if(s1[i]>s2[i])
{
printf("\nresult:%d\n",s1[i]-s2[i]);
break;
}
else if(s1[i]<s2[i])
{
printf("\nresult:-%d\n",s2[i]-s1[i]);
break;
}
else if(i=k&&s1[i]==s2[i])
{
printf("\nresult:0\n");
break;
}
}
system("pause");
return 0;
}