内容发布更新时间 : 2024/12/25 12:27:54星期一 下面是文章的全部内容请认真阅读。
x*=n;
return (x); }
13.源程序: 运行结果:a=2,b=1
#include
{ int x=1,y=0,a=0,b=0; switch(x)
{ case 1: switch(y) { case 0:a++;break; case 1: b++; break;}
case 2: a++;b++;break; case 3: a++;b++; }
printf(“a=%d,b=%d\\n”,a,b); }
14.源程序: 运行结果: 1 3 5
#include
printf(“=”,a[i]); if(i%3==0)
printf(“\\n”); } }
15.源程序: 运行结果:abc
#include
{ char s[]=“abcdef”; s[3]=‘\\0’;
printf(“%s\\n”,s); }
16.源程序: 运行结果:12
#include
{ printf(“%d\\n”,MUL(1+2)+3); }
17.源程序: 运行结果:9
#include
if((n==0)||(n==1))
t=1; else
t=n*fun(n-1); return (t); } void main() { int i,s=0; for(i=1;i<=3;i++) s=s+fun(i);
printf(“%d\\n”,s); }
18.源程序: 运行结果:235
#include
case 3: n+=1;k--;break; default : n=0;k--;
case 2:
case 4: n+=2;k--;break; }
printf(“%d”,n); }while(k>0 && n<5); }
19.源程序: 运行结果:*#*#*
#include
printf(“ ”);
for(j=1;j<=2*fabs(i)+1;j++) if(j%2)
printf(“*”); else
printf(“#”);
printf(“\\n”); } }
20.源程序: 运行结果:55
以下程序执行时,从键盘输入10 #include
return(n+fun(n-1)); } void main() { int x,s;
scanf(“%d”,&x);
s=fun(x); printf(“%d\\n”,s); }
21.源程序: 运行结果:29
#include
{ static int a=3; int t=0;
if(n%2) { static int a=4; t+=a++; } else { static int a=5; t+=a++; } return t+a++; } void main() { int s=a,i; for(i=0;i<3;i++) s+=fun(i); printf(“%d\\n”,s); } 22.源程序: 运行结果:5 5 3
#include
{ int x,y=1; if(y!=0) x=5; printf(“%d ”,x); if(y==0) x=4; else x=5; printf(“%d ”,x); x=1; if(y>0) x=3; else x=5; printf(“%d ”,x); }
源程序: 运行结果:* #include
{ int i; for(i=1;i<=5;i++)
switch(i%2) { case 0: i++; printf(“#”); break;
case 1: i+=2;printf(“*”); default : printf(“\\n”); } }
24.源程序: 运行结果:min=-2,row=2,col=1
#include
{ int i,j,row,col,min,a[3][4]={{1,2,3,4},{9,8,7,6},{-1,-2,0,5}}; min=a[0][0];
for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j] 25.源程序: 运行结果:max is 2 #include max(int x,int y) { int z; z=(x>y) ? x : y; return (z); } void main() { int a=1,b=2,c; c=max(a,b); printf(“max is %d\\n”,c); } 26.源程序: 运行结果:-1 3 6 8 9 #include for(j=0;j<4;j++){ p=j; for(i=j;i<=4;i++) if(a[i] { int a[5]={9,6,8,3,-1},i; sort(a); for(i=0; i<=4; i++) printf(“ %d”,a[i]); } 27.源程序: 运行结果:*#*#* #include void main(){ int i; for(i=1;i<=5;i++) if(i%2!=0) printf(“*”);else printf(“#”); } 28.源程序: 运行结果:84 若运行时从键盘输入:48,32<回车> #include int gy(int m,int n) { int r; r=m%n; while(r!=0) { m=n;n=r;r=m%n; } return (n); } void main() { int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},i,j,s; i=j=s=0; while(i++<4) { if(i==2 || i==4) continue; j=0; do{s+=a[i][j];j++;}while(j<4);} printf(“%d\\n”,s); } 29.源程序: 运行结果:6,13 #include fun(int x,int y){static int m=1,i=2; i+=m+1; m=i+x+y; return m; } void main() { int j=1,m=1,k; k=fun(j,m); printf(“%d,”,k); k=fun(j,m); printf(“%d\\n”,k); } 30.源程序: 运行结果:6 设程序经编译后生成的文件为exam.exe,在命令提示符下运行时输入:exam 123<回车> #include int fun() { static int s=0; s+=1; return s; } void main(int argc,char *argv[]) { int n,i=0; while(argv[1][i]!=‘\\0’) { n=fun(); i++; } printf(“%d\\n”,n*argc); } 四.程序填空题 1.函数swap用来交换两个变量的值。 #include void swap(int *x,int *y) { int temp; temp=*x; *x=*y; ;} void main() { int x=20,y=10; swap( ); printf(“ %d, %d\\n”,x,y);} 2.下列程序可以求100之内的奇数之和。 #include { int i=1,s; s=0 ; while(i<100) { s=s+I; i=i+2 ;} printf(“s=%d\\n”,s); } 3.下列程序的功能是求数组中主对角线元素之和。 #include { int a[3][3],s=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(“%d”,&a[i][j]); for(i=0;i<3;i++) for(j=0;j<3;j++) if( i==j ) s+= a[i][j] ; printf(“s=%d\\n”,s); } 4.将a矩阵行和列互换,形成b矩阵。 #include { int a[2][3]={1,2,3,4,5,6},b[3][2],i,j; for(i=0;i<=1;i++) for(j=0;j<=2;j++) a[i][j]=b[j][i] ; for(i=0;i<=2;i++) { for(j=0;j<=1;j++) printf(“]”,b[i][j]); printf(“\\n”); } } 5.下列程序的功能是将字符串大写字母转换为小写字母,并输出字符串。 #include void main() { char *p,q; =“I love Beijing”; for(; !=’\\0’; ) { if(*p>=’A’ && *p<=’Z’) q=*p+32; else q=*p;printf(“%c”,q);} } 6.以下程序的功能是用选择法对数组a中的整数由小到大进行排序。 #include void sort(int b[],int n) { int i,j,t; for(i=0;i for( ;j sort( ,8); for(i=0;i<8;i++) printf(“]”,a[i]); printf(“\\n”); } 7.以下程序实现的功能是找出数组中的最大值和此元素的下标,数组元素的值由键盘输入。 #include void main() { int a[10],i,max,j; for(i=0;i<10;i++) scanf(“%d”, ); max=a[0];j= ; for(i=1;i<10;i++) if(a[i]>max){ max=a;j= ;} printf(“max=%d,index=%d\\n”,max,j); } 8.写两个函数,分别求两个正整数的最大公约数和最小公倍数。用主函数调用这两个函数并输出结果,两个正整数由键盘输入。 #include void main() { int a,b,x,y; scanf(“%d%d”,&a,&b); x=f1(a,b); y=f2( );printf(“%d,%d\\n”,x,y);} f1(int a,int b) { int i; for(i=a;i>0;i--) if(a%i==0 && b%i==0) break; return i; } f2(int a,int b,int x) { int j; j= ; return j; } 9.以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 #include age(int n){ int c; if(n==1) c= ; else c= ; return c; } void main(){ int n=5; printf(“age: %d\\n”,age(n)); } 10.分别计算出矩阵a的两条对角线的元素之和。 #include void main() { int a[3][3]=1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,k,j; for(k=0;k<3;k++) for(j=0;j<3;j++) if( k==j ) sum1+=a[k][j]; for(k=0;k<3;k++) for(j=2;j>0;j--) if( k+j=2 ) sum2+=a[k][j]; printf(“sum1=%d,sum2=%d\\n”,sum1,sum2); } 11.设有两个字符串a、b,下面程序的功能是将a、b的对应字符中的较大者存放在数组c的对应位置上,请填空。 #include void main() { int k=0; char a[80],b[80],c[80]={‘\\0’},*p,*q; p=a; q=b; gets(a); gets(b); while( ) { if( ) c[k]=*q; else c[k]= ; p++;q++; k++; } if(*p!=‘\\0’) strcat(c,p); else strcat( , ); puts(c); } 12.以下程序中函数sort的功能是对n个字符串用选择排序法,按字符串值从小到大排序。 #include void sort(char p[][20],int n) { char t[20]; int i,j,k; for(i=0;i { char p[5][20]={“Italy”,“Germany”,“America”,“Russa”,“China”}; int i; clrscr(); sort(p[1],3); for(i=0;i<5;i++) puts(p[i]); } 13.以下程序的功能是判断输入的年份是否闰年。闰年的条件是能被4整除但不能被100整除或能被400整除的年份是闰年。