20xx年春二级c语言上机试卷(试卷代号c04)答案。
一、改错题(16分)【程序功能】
由一个取值在0~32767范围内的正整数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”。16384的质因数分解式为214=2e,因此由16384生成的字符串是“e”。【测试数据与运行结果】
第一次运行输入:49
输出:2000
第二次运行输入:16384
输出:e第三次运行输入:16000
输出:307
含有错误的源程序】#include <>int nextprime(int x) while(kvoid transform(int x,char *s)
else *s=bit[j];
s+1='\0';/语法错,中,改为*(s+1)= 0';*for( ;pvoid main( )
int a; char s;语法错,易,改为int a;char s[80];*scanf("%d",&a);transform(a,s);
puts(s);getch();
二、编程题(24分)【程序功能】
分别找出位数中的所有armstrong数并输出。armstrong数是指:一个n位数的各位数字的n次方之和等于该数。
例如:153=13+53+33;1634=14+64+34+44。因此,153是3位armstrong数,1634是4位armstrong数。
【编程要求】1.编写函数int arms(int ar)实现以下功能:将所有位armstrong数存入数组ar中,函数返回这些armstrong数的个数。
.编写函数main实现以下功能:声明1个一维数组a,用a数组作实参调用arms函数,将a数组中存储的所有armstrong数及其个数k输出到屏幕及文件中。最后将考生本人的准考证号输出到文件中。
【测试数据与运行结果】输出:k=7
153370371407163482089474【参***】#include <>#include <>int arms(int ar)
int i,j,k=0,t1,t2,m=0,n,a[4];for(i=3;i<=4;i++)
t1=pow(10,i-1); t2=pow(10,i);for(j=t1;jfor(k=0;kfor(k=0;kreturn m;}
void main()
int a[100]=,i,k;file *fp;
if((fp=fopen(""w"))null)
printf("can not open the file!")exit(0);}k=arms(a);
printf("k=%d",k);fprintf(fp,"k=%d",k);for(i=0;i<100;i++)
fprintf(fp,"");
fprintf(fp,"my exam number is :0112400123");fclose(fp);getch();
C语言上机试卷C
本试卷完成时间 90分钟 一 改错题 16分 程序功能 函数findword的功能是 在s指向的由若干个英文句子组成的字符串中搜索包含t指向子串的单词,将找到的所有包含t子串的单词复制到ch指向的二维数组中,函数返回找到的单词个数。称s字符串为 被搜索字符串 t子串为 搜索字符串 测试数据与运行结果...
C语言上机试卷C
一 改错题 16分 程序功能 对一个二维数组中的数据排序。排序规则如下 将整个数组中值最小的元素所在行调整为数组第1行 行下标为0 将除第1行外剩余行中值最小的元素所在行调整为数组第2行,将除第 行外剩余行中值最小的元素所在行调整为数组第3行,其它以此类推。测试数据与运行结果 数组初始化数据 输出 ...
C语言上机试卷
桂林电子科技大学试卷。2010 2011学年第 2 学期。课程名称 c语言程序设计适用年级 10 考试时间 60 分钟 试卷编号 001 考前准备 请在e盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程目录都创建在学号文件夹下。第1题 改错题 30分 要求 该程序文件中有1 5个...