版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言上机练习题IMBstandardizationofficeIMB5AB-IMBK08-IMB2C1 .阅读以下程序,说出其功能和运算结果.#inckide<>intmain()(intn;intfactorial(intn);scanf(d,&n);printf(H%dn'factorial(n);returnO;)intfactorial(intn)(inti,fact=l;for(i=l;i<=n;i+)fact=fact*i;returnfact;)假设输入5/2 .改正以下程序中的错误,在屏幕上显示“WelcometoYou!.#include&
2、lt;>intmian()(printf("WelcometoYou!n")returnO;)3 .假设输入4,程序运行结果为【1】,假设输入-4,运行结果为【2】,假设输入10,运行结果为3o#include<>rnainQintx,y;scanf(u%d",&x);y=x;printf(Hx=%d,y=x=%dn,x,y);clscif(x<10)y=2*x-l;printf(ux=%d,y=2*x-l=%dnu,x,y);elsey=3*x-ll;printf(ux=%d,y=3*x-l1=%dnu,x,y);4 .当输入19
3、,2,21时以下程序运行的结果是().#inckide<>main()inta,b,c,max;printf("plcasuscanthrccnumbsa,b,c:n');scanf("%d,%d,%d",&a,&bAc);max=a;if(max<b)max=b;if(max<c)max=c;printf(nmaxis:%dn,max);5 .运行以下程序时,从键盘键入China*CRCR代表回车,那么下面程序的运行结果是#include<>voidmain()intvl=0,v2=0;charch;f
4、or(;(ch=getchar()!=;)switch(ch)case'a':case'h':default:vl+;case'o':v2+;printf(u%d,%dnM,vl,v2);6 .下面程序的运行结果是#include<>voidmainOinti,j,k=19;while(i=k-l)k-=3;if(k%5=0)i+;continue;elseif(k<5)break;i+;printf(i=%d,k=%dnv,i,k);)7 ,以下程序的输出为o#include<>voidmainOinti,j,k=
5、0,m=0;for(i=0;i<2;i+)for(j=0;j<3;j+)k+;k-=j;m=i+j;printf(k=/d,m=%dnz,k,m);8 .下面程序的运行结果是o#include<>voidmain()intn3,i,j,k;for(i=0;i<3;i+)ni=O;k=2;for(i=0;i<k;i+)for(j=0;j<k;j+)nj=ni+1;printf(u%dn,*,n1);I9 .阅读程序,写出程序运行结果.#incIude<>#defineMAXWOvoidmain()intfMAX,i,j,k二2,m=5;for
6、(i=0;i<=m;i+)fi=1;fk-1=2;for(i=k;i<=m;i+)for(j=i-k;j<=i-1:j+)fi+=fj;printf("%d%5d%5dn",k,m,fm);110.下面程序可求出矩阵a的两条对角线上的元素之和.请填空.#include<>voidmainO(inta33=1,3,6,7,9,11,14,15,17,suml=0,sum2=0,i,j;for(i=0;i<3;i+)for(j=0J<3;j+)if(i=j)suml=suml+aij;for(i=0;i<3;i+)for(1;j-
7、)if(i+j)=2)sum2=sum2+aij;printf(suml=%d,sum2=%dn,suml,sum2);H.以下矩阵:Y1-0.20o-1Y2-0.81-0.2-0.2X1Y30-0.81-0.21Y40-0.8-0.811下面程序的功能是求出Yl,Y2,Y3,Y4的值.请填空.#include<>voidmainO(floats44=1,0,0,1,floatx4=l,1,1,1,y4;inti,j,k;for(i=0;i<4;i+)(yi>0;for(j=0;j<4;j+)1)for(k=0;k<4;k+)printf(“nY%d=%-6
8、.2f,k+l,【2】);12 .运行以下程序时,如果从键盘上输入:ab<回车>c<回车?defv回车>那么输出结果为().include"#defineN6voidmain()charcN;inti=O;for(;i<N;ci=getchar(),i+);for(i=0;i<N;i+)putchar(ci);printf(,nH);A.aB.aC.abD.abcdefbbcccddd13 .给出以下程序的运行结果:include""include""voidinain()charstr815str181;i
9、ntk=l,i=lJ;intflag=O;gets(str);strlO=strO;while(stri!='O')for(j=0;j<k;j+)if(stri=strlj)flag=l;if(flag!=l)strlk+=stri;i+;)for(i=0;i<k;i+)printf("%3c",strli);)如运行时输入:abcbaccba14 .假设输入一个整数10,以下程序的运行结果是#include<>sub(inta)intc;c=:a%2returnc;voidmainOinta,e10,c,i=0;printf(“输入
10、一整数n");scanf("%d",&a);while(a!=0)c=sub(a);a=a/2;ei=c;i+;for(;i>0;i)printf(u%dw,ei-l);15 .以下程序的正确运行结果是o#include<>MefineMAXIOintaMAX,i;sub2()(intaLMAX,i,max;max=5;for(i=0;i<max;i+)ai=i;subl()(for(i=0;i<MAX;i+)ai=i+i;)sub3(intaL)(inti;for(i=0;i<MAX;i+)printf("%
11、d",ai);printf(“n);voidmainO(printf("n");subl();sub3(a);sub2();sub3(a);16 .以下程序的正确运行结果是ottincludeOfunc(inta,intb)(staticintm=O,i=2;i+=m+l;m=i+a+b;return(m);voidmainO(intk=4,nFl,p;p=func(k,m);printf(u%d,M,p);p=func(k,m);printf("/dn,p);)17 .阅读程序,说出程序的运行结果0.#include<>#defineADD
12、(x)x+xvoidmainOintm=l,n=2,k=3;intsum=ADD(m+n)*k;printf(Hsum=%d,sum);)18 .以下程序的正确运行结果是ointfun(intx,inty,int*cp,int*dp)*cp=x+y;*dp=x-y;)trincludeOvoidmainOinta,b,c,d;a=4;b=3;fun(a,b,&c,&d);printf(,z%d%d%d%dn/z,a,b,c,d);)19 .以下程序的正确运行结果是oSincludeOvoidmainOinta=2,3,4,5;ints,i,*p;s=l;p=a;for(i=0;
13、i<=3;i+)s+=*p+;printf(,s=%dn,z,s);20 .以下程序的正确运行结果是o#include<>voidmainOvoidmove(int*);inta33=1,2,3,4,5,6,7,8,9,(*p)3,*pl=*a,i,j;for(;pl<*a+9;pl+)printf("%3d",*pl);printf(n);pl=*a;for(i=0;i<3;i+)(for(j=0;j<3;j+)printf(飞3d,*(pl+i*3+j);printffn");)P二a;move(p);for(i=0;i&l
14、t;3;i+)printf(3d%3d%3dn,ai0,ai1,ai2);voidmove(int*pointer)inti,j,t;for(i=0;i<2;i+)for(j=i+l;j<3;j+)t=*(pointer+3*i+j);*(pointer+3*i+j)=*(pointer+3*j+i);*(pointer+3*j+i)=t;21 .以下程序的正确运行结果是0SincludeOtrincludeOvoidmainOchar*pl,strl20="xyz,str220;pl="abed;pl+;strcat(strl+1,pl+1);strepy(s
15、tr2,strl);printfstr2);22 .以下程序的输出结果是#include<>structabcinta,b,c;main()structabcs2=1,2,3,4,5,6;intt;t=s0.a+sl.b;printf(飞dn,t);)1 .摊论个卖西瓜,以西瓜的重量论价.1.斤以上的每斤元,8斤以上的每斤元,6斤以上的每斤元,4斤以上的每斤元,4斤以下的每斤元,从键盘输入西瓜的重量和顾客所付钱数,输出应付款和应找钱数.2 .编写程序完成任意两个数的运算,要求从键盘输入四个运算符之一和任意两个数,输出运算结果.3 ,给定一个日期,输出这个日期是该年的第几天输入的数据
16、格式为YYYYMMDD,保证输入的数据有效.4 .找出广99之间满足以下条件的数:该数的平方对于10的余数等于该数本身,或者该数的平方对于100的余数等于该数本身.5 .编写一个程序,输出菱形图案,第一行为一个字母A,第二行为三个字母B,依此类推,第n行为2n-l个相应的字母,以后每行字母个数递戒.n由键盘输入.6 .从键盘输入假设干整数数据个数应少于50,其值在0至4的范围内,用-1作为输入结束的标志.统计每个整数的个数.试编程.7 .设计一个程序,将上学期本队学员高数课程的测试成绩排序,并给出每一个学员的名次.如果有并列第一,那么取消第二名,以此类推8 .编程求具有4行4列数据的二维数组每
17、一列元素之和并将其放入该列的第五行上.输出第五行元素.9 .找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小.也可以没有鞍点.用常规算法做的时候,要求数据不能相同10 .从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,那么把b中的所有元素都连接到a中.试编程.11 .通过键盘输入三行英文文字,编写程序将输入的三行文字输出,要求输出结果中不允许包含大写字母输出时如遇到大写字母那么将其转换为小写.12 .以下程序的功能是应用下面的近似公式计算e的n次方.函数fl用来计算每项分子的值,函数f2用来计算每项分母的值.请编写f
18、l和f2函数.x2v3=l+x+-前20项的和floatf2intnfloatfl(intx,intn)#include<>voidmain()(floatexp二;intn,x;printf(aInputanumber:");scanf("%d",&x);printf(u%dnv,x);exp=exp+x;for(n=2;n<=19;n+)exp=exp+f1(x,n)/f2(n);printf(anTheisexp(%d)=%8.4fnM,x,exp);运行结果Inputanumber:3Theisexp(3)=13 .函数del的作
19、用是删除有序数组a中的指定元素X.已有调用语句n=del(a,n,x);其中实参n为删除前数组元素的个数,赋值号左边的n为删除后数组元素的个数.请填空.14 .从键盘输入一个整数(小于等于8位),将其转换成字符串后输出.如:输入1991,输出1口9口9口1.要求输入和输出在主函数完成,功能的实现在子函数完成.15 .编写一个函数,对具有10个整数的数组进行如下操作:从第n个元素开始到最后一个元素,依次向前移动一个位置,空出的最后一个位置放入第n-l个元素,输出移动后数组的全部元素值.(n的取值110)16 .编写一程序,完成学生成绩的输入、查询、排序、插入功能,每个功能完成后都要输出结果.要求:1)在主函数中定义一个数组址11,用以存放学生的成绩,分别调用下面的6个子函数,完成各自功能;2)编写一个函数inputsc(inta),从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论