• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
yxyfj
博客园    首页    新随笔    联系   管理    订阅  订阅
比较字符

题目如下

编一个程序,将两个字符串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 }

 

 

posted on 2022-12-17 11:07  印象与风景  阅读(88)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3