2022081班李亚楠20220902
1、从终端中输入一串字符,求出空格的个数; ab_cd_e_\n --->遇到\n表示输入结束
---->数组中存储ab_cd_e ----->求出空格个数
#include <stdio.h>
#include <string.h>int main(int argc, const char *argv[])
{/*********从字符串中求空格个数**********/int i = 0;int count = 0;char a[20] = "";gets(a);puts(a);for(i = 0; i < ((int)strlen(a)); i++) // 遍历数组a{if(' ' == a[i]){count++; // 空格计数+1}}printf("空格个数为:%d\n", count);return 0;
}
2、删除字符串中的空格,要求只用一个数组 “aa_b_cc” --->结果 “aabcc”
#include <stdio.h>
#include <string.h>int main(int argc, const char *argv[])
{/****************删除字符串中的空格******************/int i = 0;int j = 0;char a[] = "aa b cc";printf("strlen = %ld\n", strlen(a));for(i = 0; i < strlen(a); i++) // 遍历数组a{if(' ' == a[i]){for(j = i; j < strlen(a); j++) // 从当前元素开始,遍历数组a{a[j] = a[j+1]; // 元素前移一位}}}puts(a);return 0;
}
3、完成strcmp和strcat函数,再独立完成strlen和strcpy函数
#include <stdio.h>int main(int argc, const char *argv[])
{/**************strcmp源码实现*****************/int i = 0;int j = 0;char a[20] = "hello";char c[7] = "world!";// 字符数组a元素未结束,且a和c元素相同时,循环while(('\0' != a[i]) && (a[i] == c[i])) {i++; // a和c相同时:表示结尾元素下标;不同时:表示该不同元素下标}// 打印两元素的ascii码差值,为零:两数组相同;非零:两数组不同printf("%d\n", (a[i] - c[i])); return 0;
}
#include <stdio.h>int main(int argc, const char *argv[])
{/*************strcat源码实现****************/int i = 0;int j = 0;char a[20] = "hello";char c[7] = "world!";while('\0' != a[i]) // 循环,直到字符数组a结尾{i++; // 记录字符数组a结尾元素的下标}while('\0' != c[j]) // 循环,直到字符数组c结束{a[i] = c[j]; // 从a结尾开始,将c中的元素逐个赋到a中i++;j++;}a[i] = '\0'; // 防止a内存越界puts(a);putchar(10);return 0;
}
#include <stdio.h>int main(int argc, const char *argv[])
{/***************strlen源码实现******************/int i = 0;char a[20] = "hello";while('\0' != a[i]) // 循环,直到字符串结束{i++; // 字符个数+1}printf("len = %d\n", i);return 0;
}
#include <stdio.h>int main(int argc, const char *argv[])
{/*************strcpy源码实现***************/int i = 0;char a[20] = "hello";char b[30] = " ";while('\0' != a[i]) //循环,直到字符数组a结束{b[i] = a[i]; // a的元素复制到bi++;}b[i] = '\0'; // 字符数组b结尾加上\0,防止内存越界puts(b);putchar(10);return 0;
}
2022081班李亚楠20220902相关推荐
- 2022081班李亚楠20220905
1.使用指针实现 strcpy.strcat 函数的功能 #include <stdio.h>int main(int argc, const char *argv[]) {/***使用指 ...
- 2022081班李亚楠20220914
//选择排序(作业) void list_select_sort(seqlist *S);//按位置查找,输出数据(作业) void list_search_pos(seqlist *S, int p ...
- 2022081班李亚楠20220920
1.中序遍历:ADEFGHMZ 后序遍历:AEFDHZMG 2.前序遍历: GDAFEMHZ 中序遍历: ADEFGHMZ 1.前序遍历: GDAFEMHZ 2.后序遍历:AE ...
- 2022081班李亚楠20220926
1.通过命令行传参给shell脚本文件传入两个字符串,把数值分别赋值给两个变量,实现两个变量的数值交换,然后输出两个变量的数值. #!/bin/bash #交换两个变量的值#从外部传参给变量 var1 ...
- 2022081班李亚楠20220901
1.通过键盘输入6名学生的成绩,输出6名学生的成绩,使用冒泡法对班级学生的成绩升序排序,输出排序后成绩 #include <stdio.h>int main(int argc, const ...
- 2022081班李亚楠20220829
1.从终端输入一个字符:如果是大写的 转换成小写,如果是小写的 转换成大写,如果是 0-9 按照 %d 输出对应整型的 0-9,其他字符 转换成 #并输出. #include <stdi ...
- 2022081班李亚楠20220927
1.复习今日内容 2.在终端输入一个文件名,判断文件是否为空,如果不为空,判断文件是否是普通文件,如果是普通文件,就判断是否具有写权限,没有写权限,就加上写权限,并在文件最后追加一行"hel ...
- 2022081班李亚楠20220915
//尾删 (作业) int list_delete_tail(LinkList L); //尾删 (作业) int list_delete_tail(LinkList L) {if(NULL==L | ...
- 2022081班李亚楠20220916
1.双向链表尾插法 //尾插法 void list_insert_tail(DoubleLink D, datatype e) {// 判断if(NULL==D){printf("不合法,尾 ...
最新文章
- C 语言编程 — 高级数据类型 — 字符串
- Apicloud自定义模块
- 区块链BaaS云服务(39)时戳信息Bystack“架构“
- Elasticsearch学习之快速入门案例
- 锡山国土推行数据中心“在线变更”
- 用数学模型向你解释离婚
- TypeError: Data must not be unicode
- 【BZOJ3956】Count,单调栈+ST表维护区间最大值
- html 元素换行_超文本标记语言的段落与换行显示!
- 学python需要什么基础-自学Python需要怎样的基础和准备
- LR11录制手机/pad App脚本多种方法介绍(Mobile App补丁包)
- 2d游戏引擎_Cocos Creator:用 2D 物理碰撞撸 3D 横版酷跑
- lamda表达式对list各种处理
- 【信息系统项目管理师】项目管理十大知识领域速记
- 基于长短期记忆神经网络和卷积神经网络(convLSTM)的股票涨跌预测模型(附代码)
- 【转载】电磁波中的波段划分:L波段、S波段、C波段、X波段、Ku波段、K波段、Ka波段 等等
- 火焰传感器的简单使用
- 120 行代码实现纯 Web 剪辑视频
- css+js 实现炫酷的魔方旋转
- android平台上持久化存储3种手段_Android--数据持久化之内部存储、Sdcard存储