《《C语言程序设计》考试模拟上机试题.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》考试模拟上机试题.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、语言2004最新模拟上机试题给定程序MODI1.C中函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeintfun()inta33,sum;inti,j;/*found*/sum=0;/_;for(i=0;i3;i+)for(j=0;j3;j+)/*found*/scanf(%d,&aij);/scanf(%d,aij);for(i=0;i3;i+)sum=sum+aii;printf(S
2、um=%dn,sum);main()fun();/*编程题编写程序,实现矩阵(3行3列)的转置(即行列互换)例如,输入下面的矩阵:100200300400500600700800900程序输出:100400700200500800300600900注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/intfun(intarray33)/inti,j,t;for(i=0;i3;i+)for(j=0;ji;j+)t=arrayij;rayij=arrayji;arrayji=t;/main()inti,j;inta
3、rray33=100,200,300,400,500,600,700,800,900;clrscr();for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);fun(array);printf(Convertedarray:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);/*程序修改题2给定程序MODI1.C中函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用.结束输入。请改正程序中的错误,使程序能输出正确的
4、结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*/intfun(char*c,intstatus)/*found*/if(*c=)return1;/if(c=)return1;elseif(status&*c=a)/*found*/*c+=A-a;/c+=A-a;return0;main()intflag=1;charch;printf(请输入一字符串,用点号结束输入!n);doch=getchar();flag=fun(&ch,flag);putchar(ch);while(ch!=.);printf(n);/*编程题程序的功能是:把20个随机数存入一个数组,然后输
5、出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/#defineVSIZE20intvectorVSIZE;intfun(intlist,intsize)/inti,min=0;for(i=1;ilisti)min=i;returnmin;/main()inti;clrscr();for(i=0;ivectori=rand();printf(Vector%d=%6dn,i,vectori);i=fun(vector,VSIZ
6、E);printf(nMininum:Vector%d=%6dn,i,vectori);程序修改题3/*给定程序MODI1.C中函数fun的功能是:计算整数n的阶乘。请改正程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*/#includestdio.hdoublefun(intn)doubleresult=1.0;while(n1&n0)/while(sai)/*found*/p=i;/t=i;if(p!=j)t=aj;aj=ap;ap=t;putarr(intn,int*z)inti;for(i=1
7、;i=n;i+,z+)printf(%4d,*z);if(!(i%10)printf(n);printf(n);main()intaa20=9,3,0,4,1,2,5,6,8,10,7,n=11;clrscr();printf(nnBeforesorting%dnumbers:n,n);putarr(n,aa);fun(n,aa);printf(nAftersorting%dnumbers:n,n);putarr(n,aa);/*编程题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在
8、c数的十位和千位上。例如,当a=45,b=12,调用该函数后,c=2514。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(inta,intb,long*c)/*c=a/10+a%10*100+b/10*10+b%10*1000;/main()inta,b;longc;clrscr();printf(Inputa,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(Theresultis:%ldn,c);/*程序修改题6给定程序MODI1.C中函数fun的功能是:
9、输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*/#defineM5/*found*/intfun(intn,intxxM)/intfun(intn,intxx)inti,j,sum=0;printf(nThe%dx%dmatrix:n,M,M);for(i=0;iM;i+)for(j=0;jM;j+)/*found*/printf(%4d,xxij);/printf(%4f,xxij);printf(n);for(i=0;in;i+)sum+=xxii+xxin-i-1;return(sum);main()intaaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0,9,8,7,6,5,3,4,5,6,7;clrscr();printf(nThesumofallelementson2diagnalsis%d.,fun(M,aa);