2011级《C语言程序设计》作业六
姓名: 班级: 学号:
7.以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把二者对调,然后输出调整后的5个数。
#include
{ int a[5],t,i,maxi,mini; for(i=0;i<5;i++)
scanf(“%d”,&a[i]); mini=maxi=【8】0; for(i=1;i<5;i++) {
if(【9】a[i]a[maxi]) maxi=i;
}
printf(“最小数的位置是:%d\\n”,mini);
printf(“最大数的位置是:%d\\n”,maxi);
t=a[maxi];
【10】a[maxi]=a[mini]; a[mini]=t;
printf(“调整后的数为:”); for(i=0;i<5;i++)
printf(“%d”,a[i]);
printf(“\\n”);
8.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。 main()
{ float x,amax,amin; scanf(“%f”,&x); amax=x; amin=x;
while( 【1】X>=0 ) { if (x>amax) amax=x;
if( 【2】X
printf(“\\namax=%f\\namin=%f\\n”,amax,amin);
9、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
int n = 0 , c ;
c = getchar ( ) ;
while ( 【3】c!=?\\n? )
{ if ( 【4】?0?<=c && c<=?9? ) n + + ; c = getchar ( ) ; }
10、设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请填空。 main ( )
{ int a[10] = { 1,2,3,4,5,6,7,8,9,10 } ; int k ,s,i ; float ave ;
for ( k = s = i = 0 ; i < 10 ;i+ + )
{ if ( a[i] % 2 ! = 0 ) 【5】continue ; s + = a[i] ; k+ + ; }
if (k!= 0) { ave = s / k ; printf (“%d ,%f\\n”,k ,ave ) ;} }
11.下列程序的输出结果是16.00,请填空。
main()
{ int a=9, b=2;
float x= 【6】6.60, y=1.1, z; z=a/2+b*x/y+1/2; printf(\ }
12.以下程序显示如下所示的矩阵,矩阵中每个元素形成的规律是:右上三角阵(含对角线)元素为1,其它元素值为:行下标-列下标+1。
1 1 1 1 1 2 1 1 1 1 3 2 1 1 1 4 3 2 1 1 5 4 3 2 1
main()
{ int i,j,a[5][5];
for(i=0;i<=4;i++) for(j=0;j<5;j++)
if(【7】i<=j) a[i][j]=1; else 【8】a[i][j] =i-j+1; for(i=0;i<5;i++)
{ for(j=0;j<5;j++) printf(“=”,a[I][j]); printf(“\\n”); }
2011级《C语言程序设计》作业七
姓名: 班级: 学号:
13.若变量n中的值为24,则printf函数共输出【9】5行,最后一行有【10】4个数。 void print(int n,int aa[]) { int i;
for(i=1;i<=n;i++)
{ printf(“m”,aa[i]); if(!(i%5)) printf(“\\n”); }
}
14、从键盘上输入10个数,求其平均值。 main() {int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++) { scanf(“%f”,&f) ; sum+=f; }
printf(“average=%f\\n”,sum/10); 15、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
则程序的输出结果是: 3.141593,3.1416,3.142. 16、int x=6, y=7;
printf(“%d,”,x++); printf(“%d\\n”,++y); 程序的输出结果是 : 6,8 17、a=3;
a+=(a<1)?a:1; printf(“%d”,a); 结果是: 4
18、for (a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1)
{b+=3; continue;} b-=5; }
程序的输出结果a的值为 .22 }
19、以下程序的功能是:从键盘上输入若干个学生的成绩,绩,当输入负数时结束输入。请填空。 main()
{ float x,amax,amin; scanf(“%f”,&x);
统计并输出最高成绩和最低成 amax=x; amin=x; while(x>=0.0 )
20、main( ) 21、main( )
{ float num=5.4321; { int a=32;char ch=‘A’; num=(int)(num*100+0.5); printf(“ch=%c\\n”,ch+a); num=num/100; printf(“ch=%d”,ch+1); printf(“num=%f\\n”,num); } } ch=a
ch=66 运行结果:num=5.430000 运行结果:
22、#define PI 3 23、main( ) main( ) { int a=3,b; { int s,r; while(a++==4)
for(r=4;r<8;r++) { b=6;
{ s=r*r*PI; printf( if(s>100) }
break; printf( else printf(“s=%d ”,s); } }
}
运行结果:s=48 s=75 (注意有空格)
24、main( ) { int I;
for(I=0 ; I<3;I++) switch(I)
{ case 0 : printf(“0*”);
case 1: printf(“1*\\n) ; break ; case 2 : printf(“2*\\n); break ; default : printf(“3*\\n”); break ; } }
0*1*
1*
运行结果: 2*
25、以下程序的输出结果是 2,1
main()
{ int a=1, b=2;
a=a+b; b=a-b; a=a-b; printf(\ }
“%d”,b); “a=%d”,a); 运行结果: a=4