《c语言-春C语言上机试卷C04》由会员分享,可在线阅读,更多相关《c语言-春C语言上机试卷C04(2页珍藏版)》请在金锄头文库上搜索。
1、江苏省高等学校非计算机专业学生计算机根底知识和应用能力等级考试上机试卷2021年春二级 C语言 试卷代号C04本试卷完成时间 70分钟一、改错题16分【程序功能】由一个取值在032767范围内的正整数x生成一个由十六进制数字字符组成的字符串。生成规那么如下:设x的质因数分解式为qnr(n)qn-1r(n-1).q2r(2)q1r(1),其中q1代表质数2,q2代表q1之后的下一个质数3,qn代表qn-1之后的下一个质数。取出x的质因数分解式中所有质数的指数,将这些指数分别转换为十六进制数字字符并合并为一个字符串。例如,49的质因数分解式为72503020,因此由49生成的字符串是“2000。1
2、6384的质因数分解式为214=2E,因此由16384生成的字符串是“E。【测试数据与运行结果】第一次运行输入:49输出:2000第二次运行输入:16384输出:E第三次运行输入:16000输出:307【含有错误的源程序】#include int nextPrime(int x) int k; do x+; for(k=2;kx;k+) if(x%k=0)break; while(k2; ) if(x%i=0) j+; x/=i; else *s+=bitj; i=nextPrime(i); j=0; *s=bitj; *s+1=0; for( ;ps;p+,s-) ch=*p; *p=*s;
3、 *s=ch; void main( ) int a; char s; scanf(%d,&a); transform(a,s); puts(s); getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一局部内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序文件名myf1.c保存在T:盘根目录中供阅卷使用,否那么不予评分。二、编程题24分【程序功能】分别找出3、4位数中的所有Armstrong数并输出。Armstrong数是
4、指一个n位数的各位数字的n次方之和等于该数。例如:153=13+53+33;1634=14+64+34+44。因此,153是3位Armstrong数,1634是4位Armstrong数。【编程要求】编写函数int arms(int ar)实现以下功能:将所有3、4位Armstrong数存入数组ar中,函数返回这些Armstrong数的个数。编写函数main实现以下功能:声明1个一维数组a,用a数组作实参调用arms函数,将a数组中存储的所有Armstrong数及其个数k输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】输出: k=7 153 370 371 407 1634 8208 9474【要求】1源程序文件名为myf2.c,输出结果文件名为myf2.out。2数据文件的翻开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3源程序文件和运行结果文件均需保存在T:盘根目录中供阅卷使用。4不要复制扩展名为obj和exe的文件到T:盘中。