《C语言复习2答案共5页word资料.doc》由会员分享,可在线阅读,更多相关《C语言复习2答案共5页word资料.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C语言复习2答案【精品文档】第 5 页C语言复习(2)1.阅读程序,写出程序运行结果。main() int a,b; for(a=1,b=1;a=20)break; if(b%3=1)b+=3;continue; b+=5; printf(%d,a);结果:82.阅读程序,写出程序运行结果。main() int a=2,b=7,c=5; switch(a0) case 1:switch(b0&+x5)y=y-1; printf(%d,%d,%dn,x,y,z);结果:3,2,-14以下程序的输出结果为()。main()chars140=country,s
2、220=side;inti=0,j=0; while(s1i!=0)i+; while(s2j!=0)s1i+=s2j+;s1i= 0;printf(%sn,s1);结果:countryside5下列程序的输出结果为()。#includestdio.hvoid main()char s=12134211;int k,v1,v2,v3,v4;v1=v2=v3=v4=0;for(k=0;sk!=0;k+)switch(sk) default: v4+;case 1: v1+;case 2: v2+;case 3: v3+;printf(%d,%d,%d,%dn,v1,v2,v3,v4);结果:5,
3、7,8,16.给出下列程序的运行结果:#include main( ) char *p,s=ABCD; for ( p=s;pb?a:b; return (c); main() int a=8; printf(%d,max(a,b);答案:88.阅读程序,写出程序运行结果。#include #include main() char *p1, *p2,str20=xyz; p1=abcd; p2=efgh; strcpy(str+1,strcat(p1+1,p2+1); printf(%s,str);答案:xbcdfgh1 试编写一个程序,输入一个3*5的整数矩阵(假设所有的数据互不相同),输出
4、其中最大值、最小值和它们的下标。答案:#includevoid main() int a35,i,j,max,min,rmax,cmax,rmin,cmin; for(i=0;i3;i+) for(j=0;j5;j+) scanf(%d,&aij); max=min=a00;rmax=cmax=rmin=cmin=0; for(i=0;i3;i+) for(j=0;j5;j+) if(maxaij) min=aij;rmin=i;cmin=j; printf(max:a%d%d=%dn,rmax+1,cmax+1,max); printf(min:a%d%d=%dn,rmin+1,cmin+1
5、,min);2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。答案:#include stdio.hmain()char c;int letters=0,space=0,digit=0,others=0;printf(please input some charactersn);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9)digit+;elseothers+;printf(all in all:char=%d space=%d digit=%d others=%dn,letters,space,digit,others);3.编写一个函数
6、求出任意一维数组中最大的元素值和所有元素的平均值,只能定义成自定义函数的形式。答案:float aver=0;float max(float a,int n) int i;float max1=a0; for(i=0;in;i+) aver+=ai; if(max1ai)max1=ai; aver/=n; return(max1);#includevoid main() float a100,s;int i,n; scanf(%d,&n); for(i=0;in;i+) scanf(%f,&ai); s=max(a,n); printf(max=%f,aver=%fn,s,aver);4.编程序求出40个整数中的最大值,并输出最大值和它的位置。要求:从键盘输入40个元素存放在数组中,并且必须用指针变量来引用数组元素,位置是指最大值在数组中的下标。答案:#includevoid main() int a10,max,*w,*p; for(p=a;pa+10;p+) scanf(%d,p); w=a;max=*a; for(p=a;pa+10;p+) if(max*p)max=*p;w=p; printf(max=%dnposition=%dn,max,w-aFG);