2010_信息C语言期终考试试题(重修)_上机题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-2011学年第一学期《程序设计语言C》上机考试A卷
授课班号年级专业学号姓名
(本试卷上机时间为70分钟)(13份)
一、改错题(20分)
【程序功能】
分别找出三位数和四位数中的所有Armstrong数并输出。
Armstrong数是指一个n位数的各位数字的n次方之和等于该数。例如:153=13+53+33;1634=14+64+34+44。因此,153是3位Armstrong数,1634是4位Armstrong数。
【正确的运行结果】
K=7
153 370 371 407 1634 8208 9474
【含有错误的源程序】
#include
int arms(int a[]);
void main()
{
int i,k,a[20];
k=arms(a);
printf("k=%d\n",k);
for(i=0;i print("%d ",a[i]); } int arms(int a[]) { int h,k,m,s; for(h=100;h<=9999;h++) { s=0; m=h; if(h>=100&&h<=999) { while(m>0) { s=s+pow((m%10),3); m=m/10; } if(s=h) { a[k]=h; k++; } } else { while(m>0) { s=s+pow((m%10),4); m=m/10; } if(s==h) { a[k]=h; k++; } } } return k; } 【要求】 1. 将源程序录入文件myf1.c,改正程序中的错误。 2. 改错时,可以修改语句中的一部分内容,调整语句的顺序,除了允许增加变量说明 语句、函数说明语句或编译预处理命令外,不允许增加或删除任何语句。 3. 将改正后的程序存入myf1.c文件中,供阅卷用。 二、编程题(20分) 【程序功能】从一个整形数组中删除所有不是素数的那些整数.。 【编程要求】 1.编写函数int shushu(int x),计算x是否素数,若是素数则返回1,否则返回0; 2.编写函数int del(int r[], int n), 删除所有不是素数的那些整数,函数返回r数组中剩余素 数的个数。 3.编写main函数,声明数组a并用测试数据初始化,调用del函数处理数组a中的数据, 将a数组中剩余的素数输出到屏幕及文件myf2.out中,最后将你本人的学号和姓名保存到文件myf2.out中。 【测试数据与运行结果】 数组初始数据为:16 25 19 11 23 24 34 31 35 60 输出:16 25 24 34 35 60 我的学号姓名: XXXXXXXX 【要求】 1.源程序文件名必须取为myf 2.c,输出结果文件名为myf2.out。 2.数据文件的打开、使用、关闭均用C语言标准库缓冲文件系统的文件操作函数实现。 3.源程序文件和运行结果文件均需保存,供阅卷使用。 4.不要复制其他扩展名的文件。