文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序习题-不用strcmp比较两个字符串[7.14]

C程序习题-不用strcmp比较两个字符串[7.14]

时间:2010-08-04  来源:chengxiaopeng

    编写一个程序,将两个字符串s1和s2比较,如果s1 > s2,输出一个正数;s1 = s2,输出0,;s1 < s2输出一个负数。不要使用strcmp函数。两个字符串用gets函数读入。输出的正数或者负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如“A”与“C”相比,由于“A” < "C",应该输出负数,由于“A”与"C"的ASCII嘛差值为2,因此应该输出“-2”。同理:“And”和“Aid”比较,根据第二个字符比较的结果,"n”比"i"大5,因此输出5。     看到这个题目,我们可以想到如果不用strcmp函数,因此就需要我们一次读取一个字符进行比较,如果等于0,可以执行continue操作,进行下一次的循环。如果不等于零,即找到两个字符串的差值,此时就可以break了。根据上面的原理,编写代码如下:  

#include <stdio.h>
#define N 100
int main(int argc, int *argvp[])
{
    char str1[N],str2[N];
    char c1,c2;
    int i,result = 0;
    printf("please input s1 string:");
    gets(str1);
    printf("please input s2 string:");
    gets(str2);
    
    for (i = 0 ; ((c1 = str1[i]) != '\0') && ((c2 = str2[i]) != '\0') ; i++)
    {
        result = c1 - c2;
        
        if (0 == result)
        {
          continue;
        }
        else
        {
            break;
        }
    }
    
    printf("the result is :%d\n",result);
    system("pause");
    return 0;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载