博客
关于我
6.14编一个程序,将两个字符串s1和s2比较,不要用strcmp函数。
阅读量:369 次
发布时间:2019-03-05

本文共 813 字,大约阅读时间需要 2 分钟。

//C程序设计第四版(谭浩强)//章节:第六章 利用数组处理批量数据 //题号:6.14//题目:编一个程序,将两个字符串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”。

#include <stdio.h>#include <string.h>

int main() {char s1[50], s2[50];int len1, len2, i, sum1 = 0, sum2 = 0, result;

printf("请输入第一个字符串:\n");gets(s1);printf("请输入第二个字符串:\n");gets(s2);len1 = strlen(s1);len2 = strlen(s2);for (i = 0; i < len1 || i < len2; ++i) {    if (i < len1 && i < len2) {        sum1 += s1[i];        sum2 += s2[i];    } else if (i < len1) {        sum1 += s1[i];    } else {        sum2 += s2[i];    }}result = (sum1 > sum2) ? sum1 - sum2 : (sum1 < sum2) ? sum2 - sum1 : 0;printf("%d\n", result);return 0;

}

转载地址:http://fzag.baihongyu.com/

你可能感兴趣的文章
Openmax IL (二)Android多媒体编解码Component
查看>>
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>
OpenMCU(三):STM32F103 FreeRTOS移植
查看>>
OpenMCU(三):STM32F103 FreeRTOS移植
查看>>
OpenMCU(二):GD32E23xx FreeRTOS移植
查看>>
OpenMCU(五):STM32F103时钟树初始化分析
查看>>
OpenMCU(四):STM32F103启动汇编代码分析
查看>>
OpenMetadata 命令执行漏洞复现(CVE-2024-28255)
查看>>
OpenMMLab | AI玩家已上线!和InternLM解锁“谁是卧底”新玩法
查看>>
OpenMMLab | S4模型详解:应对长序列建模的有效方法
查看>>
OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
查看>>
OpenMMLab | 不是吧?这么好用的开源标注工具,竟然还有人不知道…
查看>>
OpenMMLab | 如何解决大模型长距离依赖问题?HiPPO 技术深度解析
查看>>
OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
查看>>
OpenMP 线程互斥锁
查看>>
OpenMV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
查看>>
openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
查看>>
views
查看>>
OpenPPL PPQ量化(2):离线静态量化 源码剖析
查看>>