C语言编程04【荐】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言编程04【荐】.doc

题目 填空题 请补充函数fun(),该函数的功能是:从‘a’到‘z’统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf中。注意:不区分大小写,不能使用字符串库函数。 例如,输入:“A=abc+5*c”,结果为:a=2,b=1,c=2。 试题程序: #includeconio.h #includestdio.h #define N 100 void fun(char *tt,int alf[]) { int i; char *p=tt; for(i=0;i26;i++) alf[i]=0; while(*p) { if(*p=A*p=Z) *p+=32【2】; if(*p=a*p=z) alf[*p-a]++; p++【3】; } } main() { char str[N]; char a=a; int alf[26],k; clrscr(); printf(\nPlease enter a char string:); scanf(%s,str); printf(\n**The original string**\n); puts(str); fun(str,alf); printf(\n**The number of letter**\n); for(k=0;k26;k++) { if(k%5==0) printf(\n); printf(%c=%d ,a+k,alf[k]); } printf(\n); } 答案 【1】alf[i]=0?【2】*p+=32?【3】p++ 评析 填空1:数组alf[26]用来存放字母字符出现的次数,在使用之前需要清零。 填空2:题目要求不区分大小写,所以可以先将所有的大写字母都转换为对应的小写字母,然后一并记录出现的次数。将大写字母转换为对应的小写字母,只需将ASCII码加上32就可以了。 填空3:指针p指向字符串tt,通过p自加1来移动指针,访问字符串中的所有字符。 相关知识 题目 改错题 下列给定程序中函数fun()的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为4576235时,t中的数为4725。 请改正程序中的错误,使它能得到正确结果。 试题程序: #includestdio.h #include conio.h /**********************found***********************/ int fun(long s,long *t) { long s1=10; *t=s%10; while(s0) { /**********************found***********************/ s=s%100; *t=s%10*s1+*t; s1=s1*10; } } main() { long s, t; clrscr(); printf(\nPlease enter s: ); scanf(%ld,s); fun(s,t); printf(The result is: %ld\n ,t); } 答案 (1)void fun(long s,long *t) (2) s=s/100; 知识点 评析 错误1:函数由指针来完成参数的传递,所以没有返回值,应定义函数的类型为void。 错误2:此处要注意特殊运算符号%--取余和/--整除的区别。将一个数整除100则可得到由其百位数以上的数组成的新数字,将一个数整除100取余则可得到由十位数和个位数组成的新数。 相关知识 题目 编程题 请编写一个函数fun(),它的功能是:求出一个4×M整型二维数组中最小元素的值,并将此值返回调用函数。 注意:部分源程序给出如下。 试题程序: #define M 4 #include stdio.h fun (int a[][M]) { } main() { int arr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7}; printf(min=%d\n,fun(arr)); } 答案 fun (int a[][M]) {int i,j,min=a[0][0]; for(i=0;i4;i++) for(j=0;jM;j++) if(mina[i][j]) min=a[i][j]; return min; } 知识点 评析 此类求最大值

文档评论(0)

cnsg + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档