大学生C语言程序设计(第四版谭洪强)实验6答案

大学生C语言程序设计(第四版谭洪强)实验6答案

ID:44145264

大小:65.50 KB

页数:4页

时间:2019-10-19

大学生C语言程序设计(第四版谭洪强)实验6答案_第1页
大学生C语言程序设计(第四版谭洪强)实验6答案_第2页
大学生C语言程序设计(第四版谭洪强)实验6答案_第3页
大学生C语言程序设计(第四版谭洪强)实验6答案_第4页
资源描述:

《大学生C语言程序设计(第四版谭洪强)实验6答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验六参考答案(参考答案)(1)设计程序sy6-l.c,输入一个字符串,将其中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入”Ab,cD“,则输!l

2、Hab,cd算法分析:使用for循环遍历字符串,在遍历的过程中,如果该元索是大写字母时,能过str[iJ=strLiJ+32把大写字母置换成相应小写字母参考答案:#include#includevoidmain(){charstr[l()O];inti;printf(H请输入一个字符串:”);gets(str)

3、;for(i=();str[i]!=,(),;i++)if(str[i]>=,A,&&str[i]v二Z)str[i]二str[i]+32;printfC*输出转换后的字符串:M);puts(str);运行结果:*D:CDebugsy6-1.exe*请输入_个字符串:*****[M口STUDENT?*****输出转换后的字符串:ama£etPressanykeytocontinue.(2)设计程序sy6-2.c,输入一个字符串,删除其中所有的小写字母C。例如,若输入字符串”acabcbcdef”,则应

4、输出字符串”aabbdef"算法分析:在原字符数组中删除指定字符时,当遍历的字符不等于要删除的字符时,在原数组中赋值。注意在赋值的时候,元素下标不同步,所以用j做为删除后的下标,并且是赋一个值,其下标口动加1,所以最后j的值为数组的长度,另外为了保证字符数组能止确输出,所以在最厉要人为加一个参考答案:#include#includevoidmain()inti,j=O;charstr[20];printf(H请输入一个字符:”);gets(str);for(i=0;s

5、tr[i]!=',;i++)if(str[i]!=,c,)str[j++]=str[i];〃将指定字符c删除strU]=AO*;printf(H请输入一个字符:”);puts(str);}运行结果:(3)设计程序sy6・3・c,输入一个字符串,统计其中X到N26个英文小坷字母各自出现的次数。例如运彳亍时输入?符串:abcdefgabcdeabc后,则输出的结果应该是:33322110000000000000000000算法分析:用a数组的a[0](其中0下标是d)存放X字符的个数,a[l](其中1下标是b

6、・0)存放b字符的个数,a[str[i]・X](其中str[i]-*a*T标是str[i]字符对应存储个数的下标)存放str[i]字符的个数。因此在程序中只需用stMiFA作为a下标的元索进行口加即可。参考答案:#includevoidmain(){charstr[100];inti,a[26l={0};〃分别统计26小写字母的个数,初始时都为0个printf(”请输入一个字符串:”);gets(str);〃是小写字母才统计〃str[i卜0作为a数组下标的元素进行自加,〃即可使相应统计个数的

7、元素值加一〃输出统计结果for(i=0;str[i]!='*;i++)if(str[i]>=,a,&&str[i]<=,z,)a[str[ij-*a,]++;for(i=0;i<26;i++)primf(”%c:%・3d”,'a'+i,a[i]);}运行结果::2012-2013-2C^^SY6Debugsy6-2.exe鬲输入~'个字符串:aaaabbbbcccczzzzpt:4b:4c:4d:0e:0f:0g:0h:0i:0j:0k:01:0m:0n:0o:0p:0r:0s:0t:0u:0u

8、:0w:0x:0y:0z:4Pressanykeytocontinue(4)设计程序sy6-4.c,将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串”・1234“,则函数把它转换为整数值・12340算法分析:将数字字符转换成数字的做法是,将该数字字符减去O字符,在转换吋需耍逐个字符判断为数字字符才转换,不是不转换。为了保证转换的数字为一个原顺序的整数,则把s*l()后再把转换后的数字累加入s中。最后再对字符串屮的第一个字符进行判断看是否是'・';如果是,则把s

9、置成-s即可参考答案:#includevoidmain(){charstr[100];inti,s=0;printfC*请输入一个字符串:•*);gets(str);for(i=0;strri]!=,,;i++)〃逐一把每个数字字符转换累加到数s中if(str[i]>=,0,&&str[i]<=,9,)s=s*10+str[i]-,0,;if(str[O]=='-*)s=-s;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。