每日打卡一小时(第三十四天)
一.问题描述
比较的规则按照对应位置上的字符的ASCII的大小进行比较。如果两个字符串相等则返回0,若str1<str2则返回-1,若str1>str2则返回1。在main( )中输入2个字符串,调用strcom()比较它们的大小并输出相应信息。
二.设计思路
1.找到不一样的字符进行比较
2.都一样的话先结束的一方小
三.代码实现
#include<stdio.h> int strcom(char a[80],char b[80]) { int i,c,d,n; for(i=0; a[i]==b[i]; i++); if(a[i]>b[i]) n=1; if(a[i]<b[i]) n=-1; if(a[i-1]==b[i-1]&&a[i-1]=='\0'&&b[i-1]=='\0') n=0; return n; } int main( ){ char str1[80],str2[80]; int result; gets(str1); gets(str2); result=strcom(str1,str2); if(result==1) printf( "\"%s\" > \"%s\"\n", str1,str2) ; else if(result==-1) printf( "\"%s\" < \"%s\"\n", str1,str2) ; else printf( "\"%s\" = \"%s\"\n", str1,str2) ; return 0 ; }