小甲鱼 C语言 19课 字符串的处理函数
#include <stdio.h>
#include <string.h>int main()
{char str1[] = "love";char str2[] = "FishC";if (strlen(str1) - strlen(str2) < 0){printf("字符串"%s"比字符串"%s"短!\n", str1, str2);}else{printf("字符串"%s"比字符串"%s"长!\n", str1, str2);}return 0;
}
注意这个strlen 函数,这个函数返回值是unsigned类型,所以加减等于复数,将会是乱的
动手实现一个strncmp函数
#include <stdio.h>int main(void){char s1[100];char s2[100];int n,i;printf("请输入第一个字符串:");fgets(s1,100,stdin);printf("请输入第二个字符串:");fgets(s2,100,stdin);printf("请输入比较的字符数:");scanf("%d",&n);for(i=0;i<n && s1[i]!='\0' && s2[i]!='\0';i++){if(s1[i]!=s2[i]){i++; break;}}//这里会有两种情况,一种是循环结束,另一种是if结束,两种有个区别,一个执行了i++,另一个未执行i++;,所以需要平衡两边 printf("比较结果是%d\n",s1[i-1]-s2[i-1]); //因为这么写当i=5时,退出循环, return 0;
}
1. 按下边要求写程序。
要求 A:定义一个长度为 21 的字符数组,用于存放用户输入的文本;
要求 B:如果用户输入的文本长度超过 20 个字符,且文本中存在空格,则截取至最接近末尾(第 20 个字符串)的空格;
要求 C:如果用户输入的文本长度超过 20 个字符,且文本中不存在空格,则打印前 20 个字符。#include <stdio.h>
#include <string.h>int main(void){char s[100];int len,i,flag=20;printf("请输入一行文本:");fgets(s,100,stdin);printf("你输入的文本是:");len=strlen(s);if(len<20){printf("%s\n",s);}else{for(i=0;i<20;i++){if(s[i]==' '){flag=i; //记录最后一个空格 }}for(i=0;i<flag;i++){printf("%c",s[i]);}}return 0;
}
2. 根据要求再写一个字符统计程序,不过这个要更复杂一些。
要求 A:统计用户输入的所有字符个数;
要求 B:统计不同的字符个数,并打印出来;
要求 C:找出出现次数最多的字符#include <stdio.h>
#include <string.h>int main(void){int ascii[128]={0}; //默认设置为0char c[100];int cot,len,i,j=0,max=0,flag;char s[100];printf("请输入英文文本:");fgets(s,100,stdin);len=strlen(s);for(i=0;i<len-1;i++){ //len-1是为了避免遍历最后一个回车,因为fgets会读取最后的回车 ascii[s[i]]++;}for(i=0;i<128;i++){if(ascii[i]>0){ //大于0说明这个字符出现过 c[j++]=i;//统计出现个的字符if(ascii[i]>max){ //max用于统计次数 flag=i;max=ascii[i]; //这里需要更新max的值}}}c[j]='\0';printf("你总共输入%d个字符,其中不同的字符个数有%d个。\n",len-1,strlen(c));printf("他们是:");for(i=0;i<strlen(c);i++){printf("%c",c[i]);}printf("\n出现次数最多的是:‘%c’,他总共出现了%d次。\n",flag,ascii[flag]);return 0;
}
小甲鱼 C语言 19课 字符串的处理函数相关推荐
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- C语言中的字符串转数字函数常见问题详解
目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...
- C语言中求字符串长度的函数my_strlen()的几种实现方法
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) {asse ...
- 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义
目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...
- python编程练习(小甲鱼)第16-20课
1.将可迭代对象转化为列表,元组,字符串的内置函数 list() tuple() str() 2.区分reverse()和reversed(),为什么用法不一样 reverse()是python中列表 ...
- 小甲鱼第十九课:函数:我的地盘听我的课后总结
0. 下边程序会输入什么? def next():print('我在next()函数里...')pre() def pre():print('我在pre()函数里...')next() 我在next( ...
- 【Python】小甲鱼课后习题第20、21讲--函数(中)
问答题 1. 在嵌套的函数中,如果希望在内部函数修改外部函数的局部变量,应该使用什么关键字? 答:nonlocal 关键字.举例如下: >>> def Fun1():x = 5def ...
- 杂记(二):while(*target++)(位于小甲鱼C语言视频第22课)
在鱼C论坛课后习题遇到了下面这段代码,简记下对其中while(*target++ != '\0') 的理解 #include <stdio.h>#define MAX 1024int ma ...
- 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力
编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...
- 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)
目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...
最新文章
- linux 毫秒 转换方法,linux-将抖动转换为毫秒
- 使用jquery 根据下拉列表的name值查找被选中的值
- 在Apache的POI XWPFRun对象分隔文本行
- volcanol_linux_shell_汇总贴
- python三引号 内部变量_python在三引号中使用变量
- Linux centosVMware zip压缩工具、tar打包、打包并压缩
- kcbzps oracle_快速进行Oracle安装及配置
- 将js文件打包进dll 方法3
- mysql数据库实现主从复制
- ARouter使用随记
- 2021-03-14Java大数据Week2
- JSP/Servlet-----charset 、pageEncoding差别
- 测试用例的设计要素以及设计测试用例的方法
- linux修改目录的owner及group权限
- 浅谈编程能力的培养与提高——写给编程初学者的话
- 微信壁纸小程序源码修复图片无法下载-完美运营版本
- MyBatis关联嵌套映射(association、collection、discriminator)
- elasticsearch 的分词
- 赛普拉斯CYpress,初接触之一电磁感应触摸按键demo
- 【Solr】--简介