- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
比较字符串并删除
1. 请补充函数fun,该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为参数传入函数fun。
函数fun,用for一个个查找,函数中参数的长度决定了if判断满足条件:%2==0,就使得下一个字符串的内容复制到当前字符。然后s++,接着在赋值。
例如,输入abcdef,输出ace。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include stdlib.h
#include stdio.h
#define N 80
(1) void fun(char s[],int n)
(2) j=0
(3) s[j]=\0
【1】从下面的main函数里函数调用可得到格式定义。
{ int i, j;
【2】;
for (i=0;in;i++)这里n是数组的长度。即控制了条件。
{ if(s[i]%2!=0) 不为偶数就放入s数组里。
s[j++]=s[i]; }
【3】; s[j]=\0。给数组的最后一个字符赋值结束标志。}
删除部分元素可以给s[j]重新赋值。最后给s加上结束标志。
void main()
{ int i=0, strlen=0;
char str[N];定义一个数组。
system(CLS);
printf(\nInput a string:\n);
gets(str);输入的字符串放入str中。
while(str[i]!=\0)从第一个开始到最后。
{
strlen++;用来计算字符串长度。
i++;
}
fun(str, strlen);从调用结果可知,我们的fun函数是一个没有返回值类型的函数,第一个参数为地址,装str的地址,第二个为长度,定义一个int型的变量。
printf(\n*** display string ***\n);
puts (str);}
【考点分析】
本题考查:函数定义,需要确定类型标识符、函数名和形式参数。变量初始化,变量声明后,要进行初始化赋值,我们对变量进行初始化时,必须确定好变量的作用。字符串结束标识\0,用来结束字符串,是经常考查的知识点。
【解题思路】
填空1:由main函数调用函数fun的格式可以知道,函数fun没有返回值,第一个参数是字符数组,第二个参数是整型变量。
填空2:变量j声明时,没有初始化,所以在使用j之前要将它初始化为0。
填空3:当把所有ASCII码为偶数的字符都存入字符串s中后,要在最后加上\0,表示字符串的结束。
2. 请补充main函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。
例如,输入abcdef,指定字符为e,则输出abcd。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include stdlib.h
#include stdio.h
#define N 80
void main()
{ int I=0;控制循环。
char str[N];
char ch;
system(CLS);
printf(\n Input a string:\n);
gets(str);输入字符串
printf(\n Input a charator;\n);
scanf(%c, ch);给定删除字符.
while(str[I]!=\0)从循环里开始查找.
{
if(str[I]==ch)如果不相等就继续循环什么不执行相等到赋值。
【1】跳出while循环以后直接在给该字符赋予结束标志。
【2】;使查找往下。
}
str[I]=【3】; 给当前字符赋予字符串结束标志。
printf(\n*** display string ***\n);
puts(str);}
break; (2) i++或++i或i+=1或i=i+1 (3)\0
删除某元素后面的元素可以直接在其后加上结束标志符。
【考点分析】
本题考查:break语句,通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行以后的语句。当break语句用于for、while、do-while循环语句时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句一起使用,即满足条件时便跳出循环;字符串
您可能关注的文档
- 山东广播电视大学开放教育《C++语言程序设计》课程期末复习提纲.doc
- 宏业管理系统操作手册-第6章 数据处理.doc
- 宏定义define.doc
- 屏幕显示当前系统的时间.doc
- 实验4-PhotoShop部分.doc
- 宏天食品有限公司业务操作规范.doc
- 宏定义的使用方.doc
- 宏钧进销存软件销售相关操作.doc
- 数据库二级 第4章 表操作.ppt
- 嵌入式实验报告_宗子轩.doc
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
文档评论(0)