第一套C语言上机试卷
一、改错题 【题目】
本程序计算并输出二维数组a的每一列最小元素的值及其行号、列号,整个数组a中最小元素的值及其行号、列号。含有错误的源程序为: #include\#define n 4 #define m 3
int a[n][m],s[m]; p(int j) {int k,i,x;
S[j]=x=a[0][j];i=0; for(k=1;k {i=k;s[j]=x=a[k][j];} return i; } main() {int index[m],i,j,k; for(i=0;i scanf(\&a[i][j]); for(j=0;j printf(\ } i=s[0];k=0; for(j=1;j {i=s[j];k=j;} printf(\} 注:调试程序时,可以随意输入测试数据,最后运行本程序时,必须从键盘输入下列数据: 6 4 16 9 7 13 8 18 15 5 12 19 【要求】: 1.将上述程序录入到文件 myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。 2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理语句,但不能增加其他语句,也不能删去整条语句。 3.将改正后的源程序(文件名myf1.c)放在考试盘的根目录下,供阅卷用。 二、编程题 【题目】建立数组a[3][8],其中前两行元素产生方法是: 用初值x1=26及公式xi+1=(25*xi+357)24,产生一个数列:x1,x2,…,x16。其中x1~x8作为a的第一行元素;x9~x16作为a的第二行元素;第三行的元素值取前两行同列元素的最 大公约数。最后把数组a的元素写到文件myf2.out中,每写完a的一行元素要换行。 【要求】 1.将源程序取名为myf2.c 输出结果文件取名为myf2.out。 2.数据文件的打开、使用、关闭均按TURBO C文件操作实现。 3.源程序文件和运行结果文件均需放在考试盘的根目录下,供阅卷用。 4.不要将myf2.obj和myf2.exe保存到考试盘上。 第二套C语言上机试卷 一、改错题 【题目】 下面的程序判断一个正整数是否为降序数,再打印组成该整数的每个字符。 设正整数m=d0d1d2d3?d k-1,若满足d i >=d i+1,i=0,1,?,k-2,则m就是一个降序数,如21、433是两个降序数。 含有错误的源程序如下: #include {int num,k,di,n,isdec; long m; char digit[10]; scanf(\&num); for(;num>0;num--) {n=0;isdec=1;k=0; scanf(\ while(m!=0) {di=m; digit[n++]=m+’0’; *数字字符与相应数字的转换* m=m/10; if(k<=di)k=di; else isdec=0; } for(n--;n>=0;n--) {putchar(digit[n]); putchar(' ');}*使用putchar要加#include 1.将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。 2.改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。 3.改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。 二、编程题 【题目】 程序功能:将一字符串做压缩处理。 编程要求: 1.编写一个函数int compress (char s[ ]),将s中连续出现的多个相同字符压缩成一个字符,统计被删除的字符个数,并返回被删除的字符个数。 2.编写主函数main。从键盘上读入一行字符数据放入一个字符型数组中,调用compress函数对该字符数组中的字符做压缩处理,将压缩后的字符串写入结果文件myf2.out中。 3.用以下数据测试程序: @@@@@@ I wwillll successful &&&&&& and you too !!!!!! ########## 【要求】 1.将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。 2.数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。 3.源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。 4.不要复制扩展名为OBJ和EXE的文件到考试盘上。
相关推荐: