77范文网 - 专业文章范例文档资料分享平台

2007春C语言上机考试题8套

来源:网络收集 时间:2020-06-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2007春C语言上机考试题8套

发表时间:2007-10-19 2007年(春)上机试卷(01)

一、改错题(18分) [程序功能]

下列程序中函数fun的功能是:

首先将s数组中的字符串按以下规则复制到t数组:对于下标值为偶数位置上的字符复制n次(n=下标值+1),对于下标值为奇数位置上的字符只复制一次;其次将t数组中的字符串按字符编码从小到大的顺序排序。 [测试数据与运行结果]

当s中的字符串为“abcdefg”时,程序运行结果应为“abcccdeeeeefggggggg” 当s中的字符串为“136254”时,程序运行结果应为“123455555666” [含有错误的源程序]*/ #include \#include \

void fun(char *s,char *t) {int i,j,k,n=0; char temp; for(i=0;s[i]!='\\0'; ++i) if(i%2=0)

for(k=0;k

for(i=0;i

for(j=0;j

{ temp=t[i]; t[i]=t[k]; t[k]=temp; } } }

main()

{char s[20],t[100];

printf(\ fun(s);

printf(\ getch(); } /*

二、编程题(22分) [程序功能]

验证对于任意一个不超过9位的自然数按下列步骤经过有限次的变换得到的新数最终转换成123并(1)统计该数中偶数数字的个数a(0被当作偶数对待),该数中奇数数字的个数b,该数的总位数c。

(2)用a,b,c按以下规则组成一个新数:当a!=0时,a为百位,b为十位,c为个位;当a=0时,b为百位,a为十位,c为个位。(3)当这个新数不等于123时,对这个新数重复上述操作。经过多次重复,新数最终转换成123。数学上称123为陷阱数。 [编程要求]

1、编写函数int fun(long n,long a[]),对给定的一个长整型数n根据上述规则作变换,直到新生成的数等于123。在转换过程中,把n及转换过程中生成的所有数依次保存到数组a中,函数返回a数组中数据个数。

2、编写main函数,从键盘输入n的值,调用函数fun判断n是否转换成123,将n及转换过程中生成的所有数依次输出到屏幕并用写文件函数保存保存到结果文件myf2.out,最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。

[测试数据与运行结果]

当n=12345678时输出结果为: 12345678,448,303,123

my exam number is :考生本人准考证号字符串

2007年(春)上机试卷(02)

一、改错题(18分) [程序功能]

找到并输出2~100之间的所有互逆素数对。互逆素数对:若一个素数的反序数也是素数,则称该素数和其反序数为互逆素数对。例如,13是素数,13的反序数31也是素数,故(13,31)是互逆素数对。 算法提示:函数prime的功能是先用筛选法求出保存在a指向的结构数组元素的成员i中2~n范围内的所有素数,再从中选出大于11的互逆素数对。存放互逆素数对的方法是:将互逆素数对分别存放于同一结构数组的i和flag成员中。例如,13和31是互逆素数对,故a[13].i=13,a[13].flag=31;a[31].i=31,a[31].flag=13。

[测试数据与运行结果] 运行结果

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 13, 31 17, 71 31, 13 37, 73 71, 17 73, 37 79, 97 97, 79

[含有错误的源程序] #include #define N 101

struct PR{ int i;int flag; };

void prime(struct PR a[],int n) { int i,j;

for(i=2;i

for(j=i+1;j

if(a[j].i && a[j].i%a[i].i=0) a[j].i=0; for(i=12;i<=n;i++) if(a[i].i) { int k=i,s=0;

while(k) { s=s*10+k;k/=10; } if(a[s].i)

{ a[k].flag=i;a[i].flag=k;} } }

main()

{ struct PR a[N]=0;int i; clrscr();

for(i=2;i

for(i=2;i

if(a[i].i) printf(\ printf(\ for(i=10;i

if(a[i].flag) printf(\ getch(); } 要求: 1、将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2、改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

3、改正后的源程序(文件名myf1.c)保存在考试软盘的根目录中供阅卷使用,否则不予评分。 二、编程题(22分) [程序功能] 字符串变换 [编程要求]

1. 编写函数void conv(char *ss),其功能是:从左到右依次扫描字符串ss,把小写字母o左边的所有字符移到该串的右边,并把该小写字母o删除,继续扫描字符串ss并做上述操作,直到字符串ss中所有的小写字母o被删除为止。 2. 编写main函数,声明一个长度为80的字符数组并用测试数据初始化该数组,调用conv函数对数组中的字符串作上述变换,将变换后的结果字符串输出

到屏幕并用写文件函数保存到结果文件myf2.out中,最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。 [测试数据与运行结果] 测试数据:

You can create an index on any field. 输出结果:

n any field.Yu can create an index

My exam number is: 考生本人准考证号字符串 [要求]

1. 源程序文件名必须取为myf2.c,输出结果文件名必须取为myf2.out。 2. 数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

3. 源程序文件和运行结果文件均须保存在考试盘的根目录下,供阅卷用。 4. 不要复制扩展名为OBJ和EXE的文件到考试盘上。

2007年(春)上机试卷(03)

一、改错题(18分) [程序功能] 验证:在7~2000之间的所有素数中存在这样的两个素数,它们的差恰好是1898。 算法提示:main函数先将7~2000之间的所有素数放入a数组中,然后调用fun 函数验证命题。若命题成立,则fun函数将找到的两个素数所在的数组元素下标保存到x和y指向的两个变量中,fun函数返回1,否则返回0。main函数根据fun函数的返回值,输出满足条件的这两个素数,或输出“not found!”。 [测试数据与运行结果] 运行结果为:1951-53=1898 [含有错误的源程序] #include #include int prime(int n) { int i;

for(i=2;i<=n/2;i++) if(n%i==0) return 0; else return 1; }

int fun(int a[],int n,int *x,int *y) { int i,j;

for(i=0;i

main()

{ int a[1000]=0;int i,k=0,flag,m,n;

for(i=7;i<2000;i+=2) if(prime(i)) a[k++]=i; flag=fun(a,k,m,n);

if(flag) printf(\ else printf(\ getch(); }

要求: 1、将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2、改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

3、改正后的源程序(文件名myf1.c)保存在考试软盘的根目录中供阅卷使用,否则不予评分。 二、编程题(22分) [程序功能]

以矩阵的行作为排序的交换单位,使得排序后的矩阵按指定列的元素值递减有序。

[编程要求]

1.编写函数void sort(int x[][4],int n,int col)。函数功能:对x指向的二维数组(该数组中保存了一个n×4矩阵)以行作为交换单位,按照下标为col的列元素值做递减排序。

2.编写main函数。函数功能:声明一个3行4列二维数组并用测试数据初始化该数组,调用 sort 函数对该数组中保存的矩阵按第3列(列下标为2)排序,将排序后二维数组中的矩阵输出到屏幕并用写文件函数保存到结果文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。 [测试数据与运行结果] 测试数据:

101 80 60 90 102 70 90 50 103 60 70 80 运行结果(按第3列排序后): 102 70 90 50 103 60 70 80 101 80 60 90

My exam number is: 考生本人准考证号字符串 [要求]

1. 源程序文件名必须取为myf2.c,输出结果文件名必须取为myf2.out。 2. 数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

3. 源程序文件和运行结果文件均须保存在考试盘的根目录下,供阅卷用。 4. 不要复制扩展名为OBJ和EXE的文件到考试盘上。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库2007春C语言上机考试题8套在线全文阅读。

2007春C语言上机考试题8套.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1088639.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: