《《C语言》编程题库.docx》由会员分享,可在线阅读,更多相关《《C语言》编程题库.docx(21页珍藏版)》请在优知文库上搜索。
1、3.编程题(18)236、编写程序,实现矩阵(3行3列)的转置(即行列互换)。例如,输入下面的矩阵:100200300400500600700800900程序输出:100400700200500800300600900注意:部分源程序存在考生文件夹下的文件proglc中。请勿改动主函数Inain和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/progl.c原始代码:includeincludeintfun(intarray)main()itij;intarray33=100,200z300,400,500z600,700z800,900);for(i=0;i3;i+)f
2、or(j=O;j3;j+)printf(,%7d,arrayij);printf(n);)fun(array);printf(Convertedarrayrn);for(i=0;i3;i+)for(j=0;j3;j+)printf(,%7dzarrayiU);printf(11);NONO();)NONO()*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti,j;FI1.E*wf;intarray33=100,200300z400,500,600z700,800,900;wf=fopen(all.out,w);fun(array);for(i=0;i3;i+
3、)for(j=0;j3;j+)fprintf(wf,%7dn,arrayij);)fclose(wf);/progl.c参考代码:intfun(intarray33)inti,jjintb33;for(i=0;i3;i+)for(j=0;j3;j+)bji=arrayij;for(i=O;i3;i+)for(j=0;j3;j+)arrayij=bi11j;)241、请编写函数FUn,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如:二维数组中的值为1 35792 99946 999813570则函数值为61。注意:部分源程序存在考生文件夹下的文件PrOg
4、8.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/prog8.c原始代码:#includeItinclude#includedefineM4ftdefineN5intfun(intaMN)main()(intaaMN=l,3,5,7,9),(2,9,9,9,4),6,9,9,9,8),(1,3,5,7,0);inti,j,y;SySten(cls);Printf(Theoriginaldatais:n);for(i=0;iM;i+)(for(j=0;jN;j+)printf(*%6d*,aaij);printfn*);y=fun(aa);p
5、rintf(z,nThesum:%dn”,y);printf;NONO();)NONO()*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti,j,y,k,aaMN;FI1.E*rf,*wf;rf=fopen(z,bc4.in,r);wf=fopcn(bc4.out,w);for(k=0;k10;k+)(for(i=0;iM;i+)for(j=0;jN;j+)fscanf(rf,%d”,aaij);y=fun(aa);fprintf(wf,%dn”,y);)fclose(rf);fclose(wf);)/prog8.c参考代码:(inti,j,sum=0;fo
6、r(i=0;iM;i+)for(j=0;jN;j)if(i=0)11(i=M-1)11(j0)11(j=N-1)sum+=aij;returnsum;)253、请编写函数fun,函数的功能是:实现B=A+A,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。例如,输入下面的矩阵:其转置矩阵为:Il23|H47|456|258|789|程序输出:|2610|61014|IlO1418I|369|注意:部分源程序存在考生文件夹下的文件Prog25.C中。请勿改动主函数Inain和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/prog25.c原始代码:in
7、cludeinclude#includevoidfun(inta33Jntb33)main()nta33=l,2,3,4,5,6,7,8,9,t33;intij;system(cls);fun(a,t);for(i=0;i3;i+)(for(j=0;j3;j+)printf(%7dztij);printf(n);)NONO();)NONO()*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inta33=l,2,3,4z5,6,7,8z9,t33;intij;FI1.E*rfz*wf;wf=fopen(a21.out,w);fun(azt);for(i=0;i3;i
8、+)for(j=0;j3;j+)fprintf(wfz%7dztij);fprintf(wfzn);fclose(wf);J/prog25.c参考代码:voidfun(inta33,intb33)ntij;for(i=0;i3;i+)for(j=0;j3;j+)bij=aij+aji;)254、m个人的成绩存放在SCore数组中,请编写函数FUn,它的功能是:将低于平均分的人数作为函数值返回。例如,当SCOre数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为:10、20、30、40注意:部分源程序存在考生文件夹下的文件Pro
9、g27.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/prog27.c原始代码:#include#include#includeincludeintfun(intscoreJntm,intbelow)main()inti,nzbw9;intscore9=10,20,30,40,50,60,70,80,90);system(,cls);n=fun(scorez9zbow);printf(Belowtheaveragescoreare:);for(i=0;in;i+)printf(%dzbelowi);NONO();)NONO()*本函数用于打
10、开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/int,n,below10,score10;FI1.E*rf,*wf;rf=fopen(bc04.in,zr);wf=fopen(bc04.out,w);for(i=O;i10;i+)for(j=0;j10;j+)fscanf(rfz%d,&scorej);n=fun(score,10,below);for(j=0;jn;j+)fprintf(wf,%d,belowj);fprintf(wf,n);)fclose(rf);fclose(wf);)#defineN5intfun(intaNJntn)main()intaNNznzi,j
11、;system(cls);printf(*Thearray*n);for(i=0;iN;i+)for(j=O;j=3);printf(n=%4dn,zn);fun(a,n);printf(*THERESU1.T*);for(i=0;iN;i+)for(j=O;jN;j+)printf(,%4d,aij);printf(n);)NONO();NONO()*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。FI1.E*rf,*wf;inti,j,n,a55;rf=fopen(bw01.inzr);wf=fopen(bw01.out,zw);for(i=0;i5;i+)for(j=0;j5
12、;j+)fscanf(rf,%d,&aij);fscanf(rf,%dz&n);fun(a,n);for(i=0;i5;i+)for(j=0;j5;j+)fprintf(wf,%4dzaij);fprintf(wf,n);)fclose(rf);fclose(wf);/prog34.c参考代码:(i11ti,j;for(i=O;iN;i+)for(j=O;j=i;j+)aij*=n;265、编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。111S=I+1+21+2+3l+2+3+n例如:若n的值为II时,则函数值为:1.833333注意:部分源程序存在考生文件夹下的文件PrOg42.c中。请勿改动主函数main和其他函数中的任何内容,仪在函数fun的花括号中填入你编写的若干语句。/prog42.c原始代码:include/include#include#includefloatfun(intn)()main()