练习题5基本输入输出及流程控制1.#include main()int a=1,b=3,c=5;if(c=a+b)printf(Myesn);elseprintf(nonH);运行结果为:no2.#include main()int a=12,b=-34,c=56,min=0;min=a;if(minb)min=b;if(minc)min=c;printf(nmin=%dn,min);运行结果为:min=-34#include main()int x=2,y=-1,z=5;if(xvy)if(yvo)z=0;elsez=z+1;printf(,%dn,z);)运行结果为:54.#include main()float a,b,c,t;a=3;b=7;c=1;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);)运行结果为:1.00,2.00,7.005.#include main()float c=3.0,d=4.0;if(cd)c=5.0;elseif(c=d)c=6.0;else c=7.0;printf(u%.1fn,c);运行结果为:7.06.#include main()int m;scanf(”d”,&m);if(m=0)if(m%2=0)printf(M%d is a positive evenn,m);else printf(n%d is a positive oddn,m);else if(m%2=0)printf(M%d is a negative evenn,m);else printf(M%d is a negative oddnH,m);)若键入一9,则运行结果为:-9 is a negative odd#include main()int num=O;while(num=2)num+;printf(%dn,num);)运行结果为:1238.#include main()int sum=10,n=1;while(n3)sum=sum-n;n+;printf(d,%d”,n,sum);运行结果为:3,79.#include main()int num,c;scanf(%d”,&num);do c=num%10;printf(,%dn,c);while(numZ=10)0);printf(HnH);从键盘输入2 3,则运行结果为:3210#include main()int s=0,a=5,n;scanf(M%dM,&n);do s+=1;a=a-2;while(a!=n);printf(%d,%dnn,s,a);)若输入的值1,运行结果为:2,111.#include stdio.hmain()char c;c=getchar();while(c!=?)putchar(c);c=getchar();如果从键盘输入abcde?fgh(回车)运行结果为:abcde12.#include main()char c;while(c=getchar()!=,$,)if(1A,=c&c=2)putchar(c);else if(a,=c&c=(z9)putchar(c-32);)ab*AB%cd#CD$W,运行结果为:ABABCDCD13.#include main()int x,y=0;for(x=1;x=10)break;y=y+x;)printf(u%d%d,y,x);运行结果为:10 514.#includemain()char ch;ch=getchar();switch(ch)case 公:printf(u%c,A,);case:printf(u%c,B,);break;default:printf(sn,“other);)当从键盘输入字母A时,运行结果为:AB15.#include main()int a=1,b=0;scanf(u%d,&a);switch(a)case 1:b=1;break;case 2:b=2;break;default:b=10;printf(M%d”,b);若键盘输入5,运行结果为:1016.#include main()_ char grade=,C,;switch(grade)case K:printf(“90100n);case B:printf(u80-90nn);case C:printf(u70-80nn);case D,:printf(“6070rT);break;case E:printf(u60nJ,);default:printf(“error!n);)运行结果为:70-8060-7017.#include main()int y=9;for(;y0;y-)if(y%3=0)printf(%d,-y);continue;)运行结果为:85218.#include main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=10);printf(u%d,sum);运行结果为:5519.#include#define N 4main()int i;int x1=1,x2=2;printfCnH);for(i=1;i=N;i+)printf(M%4d%4dM,x1,x2);if(i%2=0)printf(”n”);x1=x1+x2;x2=x2+x1;)运行结果为:12 3 58 13 21 3420#include main()int x,y;for(x=30,y=0;x=10,y10;x-,y+)x/=2,y+=2;printf(ux=%d,y=%dn,x,y);)运行结果为:x=0,y=1221.#include#define N 4main()int ij;for(i=1;i=N;i+)forQ=1;ji;j+)printfC*);printfC1*);printfCn);)运行结果为:*数组#include main()int i,a10;for(i=9;i=0;i-)ai=10-i;printf(u%d%d%d,a2,a5,a8);)运行结果为:852#include main()int i,a6;for(i=0;i=0;i-)printf(M%3d,ai);)运行结果为:5 4 3 2 1 0#include main()inti,k,a10,p3;k=5;for(i=0;i10;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+1);for(i=0;i3;i+)k+=pi*2;printf(dn”,k);运行结果为:21#include int m33=1,2,3;int n33=1,2,3);main()printf(“,m10+n00);printf(dn”,m01+n10);)运行结果为:3,05.#include main()int i;intx33=1,2,3,4,5,6,7,8,9);for(i=1;i3;i+)printf(%d,xi3-i);运行结果为:6 8#include main()int n33,i.j;for(i=0;i3;i+)for(j=O;j3;j+)niU=i+j;printf(%d M,nij)5)运行结果为:0 1 21 2 32 3 47.#include main()(char diamond口5=_,*,,,,,*,f c ,*,9,*,1,*,“,一,一,一,一,一,一,一,J J fint ij;for(i=0;i5;i+)(for(j=0;j5;j+)printf(“c”,diamondij);printf(“n”);)注:代表一个空格。
运行结果为:*8.#include main()int i,f10;fO=fl=l;for(i=2;i10;i+)fi=fi-2+fi-1;for(i=0;i10;i+)if(i%4=0)printf(“n”);printf(u%d)运行结果为:1 1 2 35 8 13 2134 559.#include“stdio.hfunc(int b)int j;for0=O;j4;j+)bU=j;)main()int a4,i;func(a);for(i=0;i4;i+)printf(u%2d,ai);)运行结果为:0 1 2 310.#include main()float fun(float x);float ave,a3=4.5,2,4;ave=fun(a);printf(uave=%7.2f,ave);)float fun(float x)intj;float aver=1;for G=0;j3;j+)aver=xj*aver;return(aver);运行结果为:ave=36.0011.#include main()inta23=1,2,3,4,5,6);int b32,i,j;for(i=0;i=1;i+)forO=0;j=2;j+)bUi=aiU;)for(i=0;i=2;i+)for0=O;j=1;j+)printf(%5d,bij);)运行结果为:1 4 2 5 3 612.#include f(int b,int n)int i,r;r=1;for(i=0;i=n;i+)r=r*bi;return(r);main()intx,a=1,2,3,4,5,6,7,8,9;x=f(a,3);printf(u%dn,x);)运行结果为:2413.#includestdio.hmain()intj,k;static int x44,y44;for(j=0;j4;j+)for(k=j;k4;k+)xjk=j+k;for0=O;j4;j+)for(k=j;k4;k+)ykU=xUk;for(j=0;j4;j+)for(k=0;k4;k+)printf(%d,yjk);运行结果为:0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6函数#include int Sub(int a,int b)return(a-b);main()int x,y,result=0;scanfC,%d,%du,&x,&y);result=Sub(x,y);printfCYesult=%dnn,result);)当从键盘输入:6,3 运行结果为:result=3#include int min(int x,int y)int m;if(x y)m=x;else m=y;return(m);main()int a=3,b=5,abmin;abmin=min(a,b);printf(umin is%d,abmin);)运行结果为:min is 5#includefunc(int x)x=10;printf(u%d,n,x);)main()int x=20;func(x);printf(u%d,x);运行结果为:10,20#include int m=4;int func(int x,int y)int m=1;return(x*y-m);)main()int a=2,b=3;printf(M%dnH,m);printf(dn”,func(a,b)/m);运行结果为:41#include int fun(int a,int b)if(ab)return(a);else return(b);)main()int x=15,y=8,r;r=fun(x,y);printf(ur=%dnn,r);)运行结果为:r=156.#include int fac(int n)intf=1,i;for(i=1;i=n;i+)f=f*i;return(f);)main()intj,s;scanf(u%d,&j);s=facG);printf(,%d!=%dn,j,s);)如果从键盘输入3,运行结果为:3!=6#include unsigned fun6(unsigned num)unsigned k=1;do k*=num%10。