版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年计算机二级C语言上机题库及答案一、程序填空题题目1函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。```cinclude<stdio.h>voidfun(chars){inti,n,k;charc;n=0;while(s[n]!='\0')n++;if(n%2==0)k=n-1;elsek=n-2;/found/c=s[k];for(i=k;i>1;i=i-2)s[i]=s[i-2];/found/s[1]=c;}intmain(){chars[80]="abcdefgh";printf("\nTheoriginalstringis:%s\n",s);fun(s);printf("\nTheresultis:%s\n",s);return0;}```答案解析本题主要考查字符串中奇数位置字符的移动操作。-第一个空:需要保存最右边奇数位置的字符,以便后续将其放到第一个奇数位置,所以用`c=s[k];`来保存。-第二个空:将保存的最右边奇数位置的字符放到第一个奇数位置,即`s[1]=c;`。题目2函数fun的功能是:计算`f(x)=1+x+\frac{x^{2}}{2!}+\frac{x^{3}}{3!}+...+\frac{x^{n}}{n!}`直到`|\frac{x^{n}}{n!}|<10^{-6}`,若x=2.5,函数值为12.182494。```cinclude<stdio.h>include<math.h>doublefun(doublex){doublef,t;intn;f=1.0;t=1.0;n=1;do{/found/t=tx/n;f=f+t;n++;}while(fabs(t)>=1e-6);/found/returnf;}intmain(){doublex,y;x=2.5;y=fun(x);printf("\nWhenx=%f,thefunctionvalueis:%f\n",x,y);return0;}```答案解析本题是计算一个多项式的值,直到某一项的绝对值小于`10^{-6}`。-第一个空:根据多项式的规律,每一项是前一项乘以`x`再除以当前的阶数`n`,所以`t=tx/n;`。-第二个空:计算完成后需要返回最终的函数值`f`,即`returnf;`。二、程序修改题题目1给定程序MODI1.C中函数fun的功能是:根据形参m的值(`2≤m≤9`),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2,则输出:```1224```若输入4,则输出:```1234246836912481216``````cinclude<stdio.h>defineM10inta[M][M]={0};voidfun(int(a)[M],intm){intj,k;for(j=0;j<m;j++)for(k=0;k<m;k++)/found/a[j][k]=(j+1)(k+1);}intmain(){inti,j,n;printf("Entern:");scanf("%d",&n);fun(a,n);for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");}return0;}```答案解析本题要求根据输入的`m`提供一个`m`行`m`列的二维数组,数组元素`a[i][j]`的值为`(i+1)(j+1)`。原代码中赋值语句的逻辑是正确的,没有错误。题目2给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。```cinclude<stdio.h>voidfun(longs,longt){intd;longsl=1;/found/t=0;while(s>0){d=s%10;/found/if(d%2!=0){t=dsl+t;sl=10;}s/=10;}}intmain(){longs,t;printf("\nPleaseenters:");scanf("%ld",&s);fun(s,&t);printf("Theresultis:%ld\n",t);return0;}```答案解析本题的目的是从长整型数`s`中提取出每一位上的奇数,组成一个新的长整型数存放在`t`中。-第一个空:在开始提取奇数位之前,需要将`t`初始化为0,所以`t=0;`。-第二个空:判断当前位是否为奇数,奇数对2取余不等于0,所以`if(d%2!=0)`。三、程序设计题题目1请编写一个函数`fun`,它的功能是:计算并输出给定整数`n`的所有因子(不包括1与`n`自身)之和。规定`n`的值不大于1000。例如,若主函数从键盘给`n`输入的值为856,则输出为`sum=763`。```cinclude<stdio.h>intfun(intn){inti,sum=0;for(i=2;i<n;i++){if(n%i==0)sum=sum+i;}returnsum;}intmain(){intn,sum;printf("Inputn:");scanf("%d",&n);sum=fun(n);printf("sum=%d\n",sum);return0;}```答案解析本题的思路是遍历从2到`n-1`的所有整数,判断其是否为`n`的因子,如果是则累加到`sum`中,最后返回`sum`。题目2编写函数`fun`,其功能是:将两个两位数的正整数`a`、`b`合并形成一个整数放在`c`中。合并的方式是:将`a`数的十位和个位数依次放在`c`数的百位和个位上,`b`数的十位和个位数依次放在`c`数的千位和十位上。例如,当`a=45`,`b=12`时,调用该函数后,`c=1425`。```cinclude<stdio.h>voidfun(inta,intb,longc){inta1,a2,b1,b2;a1=a/10;a2=a%10;b1=b/10;b2=b%10;c=b11000+a1100+b210+a2;}intmain(){inta,b;longc;printf("Inputa,b:");scanf("%d%d",&a,&b);fun(a,b,&c);printf("Theresultis:%ld\n",c);return0;}```答案解析本题需要将两个两位数`a`和`b`按特定规则合并成一个四位数`c`。首先分别取出`a`和`b`的十位和个位数字,然后按照要求组合成`c`。四、综合应用题题目已知学生的记录由学号和学习成绩构成,`N`名学生的数据已存入结构体数组`s`中。请编写函数`fun`,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。```cinclude<stdio.h>defineN10typedefstruct{charnum[10];ints;}STU;voidfun(STUs[],STUt){inti;t=s[0];for(i=1;i<N;i++){if(s[i].s<t->s)t=s[i];}}intmain(){STUs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},{"GA009",60},{"GA01
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年多式联运风险管理协议
- 销售合同协议条款规范
- 研究对手战术方法
- 2026年党员干部党规党纪知识竞赛试题库及答案
- 养老院防火巡查、检查制度
- 2026年品牌活动合作合同协议
- 2026年度“应知应会”知识竞赛测试题(含答案)
- 慢病防控策略的多部门协作实践
- 慢病防控十年策略:全周期管理与多部门协同
- 慢病防控中的健康公平与资源分配策略
- 陈以平-糖尿病肾病的中西医治疗进展
- 超市火灾安全演练与疏散预案
- 教育教学微型课题申请·评审表
- 职业技术学院《建筑力学与结构》课程标准
- 翻译技术实践智慧树知到期末考试答案章节答案2024年山东师范大学
- JJG 621-2012 液压千斤顶行业标准
- 本科实习男护生职业认同感调查及影响因素分析
- 未分化型精神分裂症的护理查房
- GB 31604.1-2023食品安全国家标准食品接触材料及制品迁移试验通则
- 工控组态技术及应用-MCGS模块三MCGS模拟量组态基本知识课件
- YC/T 405.2-2011烟草及烟草制品多种农药残留量的测定第2部分:有机氯和拟除虫菊酯农药残留量的测定气相色谱法
评论
0/150
提交评论