提高项目29-字符串复制
来源:互联网 发布:淘宝商城女装裙子 编辑:程序博客网 时间:2024/06/18 18:00
任务和代码:请分别编制程序,完成下面的处理:
(1)完整复制字符串;
(2)将str1和str2接起来存放到str3中;
(3)去除str1中的空格,仍保存在str1中;
(1)完整复制字符串;
(2)将str1和str2接起来存放到str3中;
(3)去除str1中的空格,仍保存在str1中;
(4)将str1和str2连接起来,仍存放在str1中
/*文件名:main.c作者:小风景完成日期:2016.7.10问题描述:请分别编制程序,完成下面的处理:(1)完整复制字符串;(2)将str1和str2接起来存放到str3中;(3)去除str1中的空格,仍保存在str1中;(4)将str1和str2连接起来,仍存放在str1中;程序输出:*/#include <stdio.h>#include <string.h>void mystrcpy(char str1[],char str3[]);void mystrcat(char str1[],char str2[],char str3[]);void deletespace(char str1[]);void mystrcatsec(char str1[],char str2[]);int main(){ char str1[100]="I am a happy boy\'s daddy.",str2[100]; char str3[100] = {0} ; int i=0,j=0; while(str1[i]!='\0') { if(str1[i]!=' ') { str2[j]=str1[i]; j++; } i++; } str2[j]='\0';//切记!! printf("去除空格后的字符串: %s\n", str2); mystrcpy(str1,str3); printf("完整复制字符串:%s\n",str3); mystrcat(str1,str2,str3); printf("将str1和str2接起来存放到str3中:%s\n",str3); deletespace(str1); printf("去除str1中的空格,仍保存在str1中:%s\n",str1); mystrcatsec(str1,str2); printf("将str1和str2连接起来,仍存放在str1中:%s\n",str1); return 0;}/*函数功能:完整的复制字符串信息返回值:无*/void mystrcpy(char str1[],char str3[]){ int len = strlen(str1); int i = 0; for(i = 0;i < len;i++) { str3[i] = str1[i]; } str3[len] = '\0';}/*函数功能:将str1和str2接起来存放到str3中返回值:无*/void mystrcat(char str1[],char str2[],char str3[]){ int len1 = strlen(str1); int len2 = strlen(str2); int i = 0; memset(str3,0,100); //讲str3中内容清空 for(i = 0;i < len1 + len2;i++) { if(i < len1) { str3[i] = str1[i]; } else { str3[i] = str2[i - len1]; } } str3[i] = '\0';}/*函数功能:去除str1中的空格,仍保存在str1中;返回值:无*/void deletespace(char str1[]){ int len = strlen(str1); int i = 0; int j = 0; for(i = 0;i < len;i++) { if(str1[i] != ' ') { str1[j] =str1[i]; j++; } } str1[j] = '\0';}/*函数功能:将str1和str2连接起来,仍存放在str1中返回值:无*/void mystrcatsec(char str1[],char str2[]){ int len1 = strlen(str1); int len2 = strlen(str2); int i = 0; for(i = len1;i < len1 + len2;i++) { str1[i] = str2[i - len1]; } str1[i] = '\0';}
程序运行结果:
总结:这个程序完成了上述四个功能,分别通过四个小函数完成,函数之间通过将字符数组作为参数传递来完成整体大功能,但由于传递的是数组指针,指向数组的相应首地址,因此函数中修改的数组元素在函数外也已经被改变,因此,使用时应注意分清自己是否需要更改外部数组中的元素。
0 0
- 提高项目29-字符串复制
- 提高第31课时,实践3,项目3-字符串复制
- 提高项目30.4-统计字符串的长度
- 提高篇——复制字符串空格除外
- 13周项目五。。复制字符串
- 第十三周 项目5.2 字符串的复制
- 第十三周项目五完整复制字符串
- 第十三周项目五:完整复制字符串
- 第十三周项目 5 字符串操作(字符串复制)——完整复制字符串
- 第十三周项目5-字符串操作:字符串复制
- 第十三周项目五 字符串操作(完成字符串复制)
- 第13周项目5-字符串操作--字符串复制
- 第十三周项目 5 字符串操作(字符串复制)——两个数组连接复制
- 提高项目30.2-字符串处理函数 指针形参
- 提高项目30.6-删除字符串前面的空格
- 提高项目30.8-比较两个字符串,返回值同strcmp()
- 提高项目31.1-统计代码中的if、while、 for字符串
- 【数组】14周项目六(一)。完整复制字符串
- python文件操作整理汇总
- 【MyBatis框架】查询缓存-二级缓存原理
- 在修改etc/profile过程中如果PATH前不小心忘记添加$,导致vi命令无法使用怎么办?
- append()与extend()用法
- Android之listview万能适配器
- 提高项目29-字符串复制
- 微服务:ICE 入门之 编译环境搭建
- 又是文件中的不可见字符问题
- 【MyBatis框架】查询缓存-二级缓存-整合ehcache
- hdu_tian_Ji_The_hourse_Racing
- Irrlicht引擎学习笔记(13)--LoadIrrFile
- 二叉树应用-二叉搜索树类模板的实现(数据结构基础 第6周)
- poj 1363
- C++11并发编程实战