2010_信息C语言期终考试试题(重修)_上机题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.不要复制其他扩展名的文件。

相关文档
最新文档