




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一套C语言上机试卷一、改错题【题目】本程序计算并输出二维数组a的每一列最小元素的值及其行号、列号,整个数组a中最小元素的值及其行号、列号。含有错误的源程序为:#includestdio.h#define n 4#define m 3int anm,sm;p(int j)int k,i,x;Sj=x=a0j;i=0;for(k=1;kn;k+)if(akjx)i=k;sj=x=akj;return i;main()int indexm,i,j,k; for(i=0;in;i+) for(j=0;jm;j+) scanf(%d,&aij); for(j=0;jm;j+) indexj=pj; printf(a%d%d=%dn,indexj,j,sj); i=s0;k=0; for(j=1;jm;j+) if(sj=d i+1,i=0,1,k-2,则m就是一个降序数,如21、433是两个降序数。含有错误的源程序如下:#includevoid main()int num,k,di,n,isdec; long m; char digit10;scanf(num=%d,&num); for(;num0;num-) n=0;isdec=1;k=0; scanf(%ld,&m); while(m!=0) di=m%10; digitn+=m%10+0; *数字字符与相应数字的转换* m=m/10; if(k=0;n-) putchar(digitn); putchar( );*使用putchar要加#include* if(isdec)printf( is decrea order numbern); else printf(is not decrea order numbern); 【要求】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的文件到考试盘上。第三套C语言上机试卷一、改错题【题目】下面的程序能够从键盘上接受一个含有空格的字符串(scsnf遇到空格就停止输入,应用gets),然后按照字典序对所有字符排序,再删除重复出现的字符。含有错误的源程序如下:#include#include stdio.hvoid main()char str100,*p,*q,*r,c; printf(Input a string:);gets(str); for(p=str;*p;p+) for(q=r=p;*q;q+) if(*r*q)r=q; if(r!=p)c=*r;*r=*p;*p=c; for(p=str;*p;p+) for(q=p;*p=*q;q+); strcpy(p+1,q);*用strcmp要加#include* printf(result:%sn,str);【要求】1将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、编程题【题目】程序功能:将一个44二维数组中全部元素逆时针旋转90。编程要求如下:1编写函数int rotate (int a44, int b44),将数组a中元素逆时针旋转90后的元素保存在数组b中,计算b数组主对角线上全部元素之和作为函数的返回值。2编写主函数main,从键盘上读入16个数据放入一个二维数组中,调用rotate函数,将旋转后的二维数组全部元素按行写入到结果文件myf2.out中,最后将旋转后数组中主对角线上全部元素之和写入到结果文件myf2.out中。3使用以下测试数据: 旋转前: 旋转后:1 5 9 13 13 14 15 162 6 10 14 9 10 11 123 7 11 15 5 6 7 84 8 12 16 1 2 3 4【要求】1将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。2数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4不要复制扩展名为OBJ和EXE的文件到考试盘上。第四套C语言上机试卷一、 改错题【题目】使用Windows搜索工具在磁盘中查找文件时,在被查找的文件名文本框内允许出现含有通配符“*”和“?”的字符串,以达到搜索多个文件的目的,称这样一个字符串为模板。搜索的过程就是在已知的若干文件名字符串中查找与模板匹配的文件名。以下程序实现模板与字符串的匹配判断功能。给出一个模板pat及一个字符串str,模板中可能含有通配符“*”和“?”,其中“*”表示在该位置上有0个或多个任意字符,“?”表示在该位置上有一个任意字符。函数match对它们作匹配判断后,返回1表示匹配,返回0表示不匹配。例如,模板为“e*p?e”,若字符串为“example”,则两者是匹配的;若字符串为“europe”,则两者是不匹配的。程序正确时,当输入的模板为“e*p?e”,若输入字符串为“example”时,则输出“e*p?e match example”;若输入字符串为“europe”时,则输出“e*p?e unmatch europe”。含有错误的源程序如下:void match(char *pat,char str)char *p=pat,*q=str; int i=0; while(*p!=NULL)&(*q!=NULL) if(*p= =*q|*p= =?)p+,q+; else if(*p= =*) p+; while(*q!=*p&*q!=NULL)q+; else i=0;break; if(*p!=NULL|*q!=NULL)i=0; return i;main()char a10,b10; int yesno; gets(a);gets(b); yesno=match(a,b); printf(%s %s %sn,a,yesno?match:unmatch,b);【要求】1 将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3 改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、 编程题【题目】有一些十进制整数对ab和cd具有如下特性:abcd=badc,其中,a、b是不同的数字且c、d也是不同的数字。例如:1242=2124,1263=2136,1284=2148请按如下要求编程:1 编写函数int inv(int x),完成将两位数x的个位与十位对换,返回对换后新的两位数。2 主函数中找出m、n取值在3050之间,且满足等式:m*n=inv(m)*inv(n)的所有m、n值,并按上述等式的格式写入到文件myf2.out中(每个等式一行,可用*表示)。【要求】1 将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。2 数据文件的打开、使用和关闭等操作均用C语言标准库中缓冲文件系统的文件操作函数实现。3 源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4 不要将myf2.obj和myf2.exe保存到考试盘上。第五套C语言上机试卷一、改错题【题目】某数列的前两项是3和2,其后续项根据前面最后两项的乘积,按下列规则生成:(1)若乘积为一位数,则该乘积即为数列的后续项;(2)若乘积为两位数,则该乘积的十位数字和个位数字依次作为数列的两个后续项。例如:该数列的前10项为:3、2、6、1、2、2、4、8、3、2。函数sum按要求生成数列的前n(n50)项,存入首指针为pa的数组中,计算并返回前n项的和。#include #define N 50void sum(int n,int *pa) int count, total,temp; *pa=3;*+pa=2; total=5; count=2; while(count+n) temp=*(pa-1)*pa; if(temp10) total+=temp; *(+pa)=temp; else *+pa=temp/10; total+=*pa; if(countn)count+; *pa+=temp%10; total+=*pa; return total;main() int tol,n,i,numn; doprintf(Input n=?(2n50); scanf(%d,&n); while(n=50); tol=sum(N,num); for(i=0;in;i+) printf(i+1)%5?%5d:%5dn,numi); printf(n); printf(%d,tol);【要求】1将上述源程序录入到文件 MYF1.C中,根据题目要求以及程序中语句间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理语句,但不能增加其他语句,也不能删去整条语句。3改正后的源程序MYF1.C必须放在考试盘的根目录下,供阅卷用。二、编程题【题目】一个有符号整型数以字符串形式存放在字符数组a中,字符串中只会出现数字字符、“-”、“+”和空格。约定“-”和“+”只能出现在a0的位置。若a0位置的字符是“-”,则表示该整型数为负数,否则为正数。除a0外,其他位置还可能出现空格。试按下列要求编写程序:1编写函数int chang(char a, int b,int *n)按下列规则转换字符数组a中的字符串:(1) 整型变量sign存放数符,当整型数为正数时sign为0,为负数时 sign为1,函数返回sign值;(2) 整型数组b依次存放字符串a中出现的所有数字字符转换为对应的整型数后的值(不包括数符);(3) n指向的变量保存放入b数组的整型数的个数;(4) 字符串a中的空格忽略不计如:字符串“ 20 3 ”转换后的结果是:sign=0,b=(2,0,3) 字符串“-3 3740”转换后的结果是:sign=1,b=(3,3,7,4,0)2 函数中输入二个字符串:“-2 35 1”,“+38 2 46”,分别调用函数chang做字符串转换,并将转换结果以例子给出的形式写到文件myt2.out中。【要求】1将源程序文件取名为myf2.c 输出结果文件取名myf2.out。2数据文件的打开、使用、关闭等操作均用c标准库中的缓冲文件操作函数实现。3源程序文件和运行结果文件均须放在考试盘的根目录下,供阅卷用。4不要将myf2.obj和myf2.exe保存到考试盘上。第六套C语言上机试题一、 改错题【程序功能】使用插入法将一个结构体数组中的数据按成员score的值从大到小排序。含有错误的源程序:#include #include #define N 5struct student char name10; int score; ;*定义结构体变量最后要加;* void sort(struct student stud,int n) int i,j; struct student p; for(i=1;i=0 & p.scorestudj.score;j-) studj+1=studj; studj+1=p; void main() struct student studN=aaa,60,bbb,90,ccc,85,ddd,65,yyy,77; int i; sort(stud,N); printf(sorted data:n); for(i=0;iN;i+) printf(%st%dn,,studi.score); 要求:1. 把上述程序录入到文件myfl.c中,根据题目要求及程序中语句的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或预编译处理命令,但不能增加其他语句,也不能删去整条语句。3. 改正后的源程序(文件名myfl.c)保存在考试软盘的根目录中供阅卷使用,否则不予评分。二、 编程题【编程要求】1. 编写函数int Replace_string(char line,char str1,char str2),其功能是:在line指向的字符串中查找str1指向的字符子串,若找到则用str2指向的字符串替换第一次出现在line中的str1字符子串,替换成功返回1,否则返回0。2. 编写main函数,line字符串和str1字符串均用测试数据,从键盘输入考生本人准考证号(str2字符串),调用Replace_string函数,用str2字符串替换line中str1字符子串,并将替换后的line字符串保存到结果文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。测试数据测试数据:line字符串为“My EXAM_number is 0112404321.”,str1字符串为“0112404321”运行结果:“My EXAM_number is 0112400123.”(0112400123为某考生的准考证号),My exam number is:0112400123(考生本人准考证号)【要求】1、 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。2、 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3、 源程序文件和运行结果文件均需保存在考试盘根目录中供阅卷使用。4、 不要复制扩展名为.obj和.exe的文件到考试盘上。第七套C语言上机试卷一、 改错题【题目】函数void sort(struct T items,int low,int high)的功能是:对items结构数组中从下标low开始到high为止的所有数组元素按成员name以字典序排序,并输出排序后的结果。含有错误的源程序如下:#include #include struct Tchar name 20,num20;void sort(struct T items,int low,int high)struct T temp; int k,j; for(k=low;khigh;k+) for(j=low;j0) temp=itemsj;itemsj=itemsj+1;itemsj+1=temp;void main(void)struct T stu5=Wang,6723,Cai,2106,Zhang, 5129,Chang,4512,An,6868; int k; sort(stu,0,4); printf(The Sorted Array:n); for(k=0;k5;k+) printf(name:%s,num:%sn,,stuk.num);【要求】1将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、 编程题【题目】1 编写函数 void count(char a ,char w 10,int n,int b )。其功能是:统计w指向的数组中n个单词在a指向的字符串中各自出现的次数(将非字母字符看做单词分隔符),并将统计结果依次保存在b指向的数组中。2 编写main函数。采用数组初始化方式将以下测试数据(原数列)保存在数组中,调用count函数作统计,将统计结果(所有单词以及各自出现的次数)保存到结果文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。例如,测试数据为 a中字符串:this is a book,that is an apple w中的单词:this,that,is,a,an,book则输出结果为 this:1,that:1,is:2,a:1,an:1,book:1 my exam number is:0112400123(考生本人的准考证号)【要求】1将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。2数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4不要复制扩展名为OBJ和EXE的文件到考试盘上。第八套C语言上机试题一、改错题【题目】从键盘输入十个字符串,从中求出最长的一个字符串,并将该串及其长度送入MYF1.OUT中。含有错误的源程序为:#include main( )int i ,maxlen,len;char inline10100,maxline100;FILE *fp;if((fp=fopen(myf1.out,w)= =NULL) EXIT(1);for(i=0;i 10;i +)gets(inlinei);fprintf(fp, %sn,inlinei ); maxlen =0 for(i =0;i maxlen)strcpy(maxline,inlinei ),maxlen=len; fprintf(fp, max string is:%sn maxlen=%dn,maxline,maxlen);fclose(fp);strlenth(char *p, int *len)*len=0;while (plen!= 0)+len;【要求】1. 将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3. 改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分;并将输入的字符串和运行结果以myf1.out为文件名也保存在考试盘的根目录下。二、编程题【题目】计算自然数e和圆周率的值,e精确到小数点后6位。求e的近似值的计算公式为:e=1+1/1!+1/2!+1/3!+1/n!+(n=0,1,2,3,)求/2的近似值的计算公式为: 其中n =1,2,3,,取n=1000时的值。【要求】1. 将源程序文件取名为myf2.c,程序运行的结果保存于myf2.out文件中。2. 数据文件的打开、使用和关闭等操作均用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4. 不要将myf2.obj和myf2.exe保存到考试盘上。第九套C语言上机试题一、改错题【题目】函数check检查给定的字符串s中左圆括号与右圆括号的个数是否匹配,若两者个数匹配则函数返回值为0,若左括号数大于右括号数则返回两者差值的负值,否则返回两者差值的正值。#include main()char a100; int i; a=(a+b)-c)*d)-e; i=check(a); printf(a=%s i=%dn,a,i); int check(s)char *s;int left,right; left=0,right=0; while(s=0) if(*s= =()left+; if(*s= =)right+; s+; if(leftright)return(left-right); else if(leftright)return(right-left); return(0); 【要求】1将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、编程题【题目】在直角坐标系统中,直线方程y=ax+b和圆方程x2+y2=r2,两者之间有三种情况:直线和圆不相交,相切,相交于两点。令4(a2r2+r2-b2)=t1,则有:(1)当t10时,直线与圆相交,输出两个交点的坐标: y1=ax1+b y2=ax2+b方程的系数要求:系数a ,b , r分别取以下值3 4 5【要求】1将源程序文件取名为myf2.c,输出结果保存在文件myf2.out中。2数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4不要复制扩展名为OBJ和EXE的文件到考试盘上。第十套C语言上机试题一、改错题【题目】输入一行字符串,把该字符串中的每一个字母串的首字母都换成大写字母,并输出转换后的字符串。如输入 good mor23ning!,则输出为Good Mor23Ning!。注:字母串是以字母开头的字母序列(不区分大小写),即不同字母串之间用非字母隔开。#includeint change(char *c,int flag)if(flag= =0 &(*c=a|*c=A) if(*c=a) *c=*c-a+A; return 1; else if(flag= =1 &!(*c=a|*c=A) return 0; return flag; main()int flag=0; char c; for(;(c=getchar()!=n;) flag=change(&c,flag); putchar(c); putchar(n); 【要求】1将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、编程题【题目】用筛选法求100以内的素数。算法为:1用一个一维数组a,其初值为:2,3,4,5,6,7,8,9,100;2对每一元素ai(i=1,2,99),若ai不等于0,则从该元素的后一个元素开始,凡是ai倍数的数组元素均不是素数(置为0);3数组a中不为0的元素,均为素数。【要求】1将源程序文件取名为myf2.c,输出结果保存在文件myf2.out中。2数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3要求每一行输出5个素数。4源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。5不要复制扩展名为OBJ和EXE的文件到考试盘上。第十一套C语言上机试题一、改错题【题目】下面的程序读入一串字符(以“#”结束),将长度最长的单词、该单词的长度以及未在该单词中出现的字母输出(若这样的单词多于一个,则只取第一个)。假定串中只含小写字母和其他非字母字符,把由非字母字符隔开的字母串叫做单词,而不管它是否有意义。含有错误的源程序如下:#include#define max 100emptys(char *ss)int i; for(i=0;i26;i+) ssi= ;stringcopy(char *s,char *t,int n)int i; for(i=0;i=a)&(xlength) stringcopy(s1,s2,26); stringcopy(a,b,100); length=i; emptys(s1); i=0; while(x!=#); for(i=0;ilength;i+) putchar(bi); printf( length=%dn,length); for(x=a;x=z;x+) if(s2x-97= )printf(%2c,x); putchar(n); 【要求】1将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、编程题【题目】编程完成以下功能:读入任意多个正整数(“0”作为结束标记),然后将其中恰好含有三个相同数字(另一个数字与它们不同)的四位数写到文件myf2.out中。调试时必须依次输入下列正整数:1211、2、2323、2333、4443、1111、0。【要求】1将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。2数据文件的打开、使用和关闭等操作均用C语言标准库中缓冲文件系统的文件操作函数实现。3源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4不要将myf2.obj和myf2.exe保存到考试盘上。第十二套C语言上机试题一、改错题【题目】计算机所能表示与处理的数的有效数字位数是有限的。例如,在字长32位的计算机上运行的程序中可处理的整数的最大值是4294967295。对于求阶乘n!,当n较大时,会产生溢出。为了完成高精度阶乘运算,可以用一个整型数组存放一个参加运算的操作数,其中每个数组元素存放十进制表示的正整数的一个数字位。下列函数fact中,kc表示进位,若当计算至mMAX-1时仍有进位,视为溢出,函数返回0,否则返回1。例如,程序正确时,能计算并输出7!,值为5040,15! 值为1307674368000。含有错误的源程序如下:#define MAX 200int fact(int n,int *m)int i,j,k,kc; m0=1; for(i=2;i=n;i+) kc=0; for(j=0;j0):); scanf(%d,&n); for(i=0;i=0;i-) printf(%d,ai); printf(n);【要求】1将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。2改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。二、编程题【题目】编程要求如下:1编写函数void fun(char xx )。其功能是:在xx所指向字符串中的所有数字字符之前分别插入1个字符“$”。例如,如果xx所指向的字符串是“A1B23CD45”,则变换后的字符串应为“A$1B$2$3CD$4$5”。2编写主函数。输入一个含有数字字符的字符串“A1B23CD45”,调用函数fun对该字符串作变换,将变换后的字符串保存在文件myf2.out中。【要求】1将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。2数据文件的打开、使用和关闭等操作均用C语言标准库中缓冲文件系统的文件操作函数实现。3源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。4不要将myf2.obj和myf2.exe保存到考试盘上。答案:第一套上机试题一、改错题【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。#includestdio.h#define n 4 #define m 3 /*语法错,define m 3需另起一行*/int anm,sm;p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,sj中即为j列的最小元素的值*/int k,i,x; x=a0j;i=0; /*逻辑错,从函数的功能可知,a0j也应赋值给sj,所以x=a0j应改为sj=x=a0j*/for(k=1;kn;k+) if(akjx) i=k;sj=x=akj; return i;main()int indexm,i,j,k; for(i=0;in;i+) for(j=0;jm;j+) scanf(%d,aij);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以aij应改为&aij)*/ for(j=0,jm;j+) indexj=pj; printf(a%d,%d=%dn,indexj,j,sj); i=s1;k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s1应改为i=s0*/for(j=1;jm;j+)/*此循环的功能为:找出数组a中最小元素的值及其行号,列号*/ if(sji) i=sj;k=j; printf(min=a%d,%d=%d,indexk,k,i); 二、编程题【分析】:本题的主要功能是建立一个3行8列的二维数组,并给其元素赋值,其中第1、2行的值可通过递推公式xi+1=(25*xi+357)%1024得到,第三行的值取前两行同列元素的最大公约数,所以编程时可用一个函数来实现求公约数的算法。#include #include #define n 8/*函数gcd实现求最大公约数的算法*/gcd(int a,int b)int c; while(b!=0) c=a%b;a=b;b=c; return a;main()int i,j,x,a3n; FILE *f; if(f=fopen(d:temp1myf2.out,w)= =NULL) printf(Create File myf2.out Failed!n);exit(0); x=26;/*下面二重for循环实现给第1、2行数组元素赋值的功能*/ for(i=0;i2;i+) for(j=0;jn;j+)aij=x;x=(25*x+357)%1024;/*下面for循环通过调用gcd函数实现给第3行数组元素赋值的功能*/ for(j=0;jn;j+)a2j=gcd(a0j,a1j);/*下面for循环实现按题目所给格式输出二维数组的功能*/ for(i=0;i3;i+) for(j=0;j=0;n-)中第一个表达式应加上n-或-n或n=n-1。【答案】在程序开头加上#include stdio.h 将原第五行的scanf(num=%d,num);改为scanf(num=%d,&num); 将原第十一行的digitn+=m%10;改为digitn+=m%10+0; 将原第十六行的for(;n=0;n-)改为for(n-;n=0;n-)二、编程题【知识点】字符串应用、数据文件的使用【解析】注意,按要求必须调用函数,且使用数据文件完成输出。使用数据文件有5大步骤:#include ,用FILE *定义指针,用fopen(A:myf2.out,w)打开文件并赋值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非木浆净化工艺考核试卷及答案
- 豆制品酶法脱脂工艺优化实验工艺考核试卷及答案
- 陶瓷烧成工培训考核试卷及答案
- 碱金属卤化物硝化工艺考核试卷及答案
- 刨花板热压工数字化技能考核试卷及答案
- 项目部资金管理及新公司财务事项相关填空题测试卷
- 2025-2026学年赣美版(2024)小学美术三年级上册《活字印古籍》教学设计
- 银行移动营销试题及答案
- 金融专业自荐试题及答案
- 焊接专业试题及答案
- Unit 3 Places we live in单元整体公开课一等奖创新教学设计表格式(5课时)
- 人教版(2024)八年级上册数学全册教案
- 门式起重机安装、拆除专项施工方案
- 四川大学本科川化实习报告
- GB/T 10299-2011绝热材料憎水性试验方法
- GB 15766.1-2000道路机动车辆灯丝灯泡尺寸、光电性能要求
- 储备粮直属库原粮储存项目安全现状评价报告
- 第四章-清洁生产-清洁生产与循环经济课件
- 重庆医科大学护理学考研大纲
- 品管圈提高痰培养标本留取率
- 《新能源汽车电力电子技术》全册课件
评论
0/150
提交评论