编写函数strcmp,比较两个字符串的大小,(不得调用c语言提供的比较字符串大小的函数),函数返回较小的字符串;编写函数strlencmp,比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较短的字符串。若两个字符串长度相同,则返回第一个字符串。在main函数中验证。要求:字符串在main函数中由键盘输入。
2条回答 默认 最新
- CSDN专家-link 2022-03-02 22:04关注
两个字符串逐个字符比较,如果全相同返回0。找到第一个不同的字符,比较该字符大小即为结果。
#include <stdioh> int strlen(char *s) { int j=0,len = 0; while(s[j] != '\0') { len++; j++; } return len; } int strcmp(char *s1,char *s2) { int i=0; while(s1[i] != '\0' && s2[i] != '\0') if(s1[i] != s2[i]) { if(s1[i] > s2[i]) return 1; return -1; } else i++; if(s1[i] == '\0' && s2[i] == '\0') return 0; if(s1[i] != '\0') return 1; return 0; } int strlencmp(char *s1,char *s2) { int len1 = strlen(s1); int len2 = strlen(s2); if(len1 == len2) return 0; else if(len1 > len2) return 1; return -1; } int main() { char s1[1000],s2[1000]; gets(s1); gets(s2); printf("%d\n",strlencmp(s1,s2)); printf("%d\n",strcmp(s1,s2)); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1
悬赏问题
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
- ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
- ¥15 乘性高斯噪声在深度学习网络中的应用
- ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛