时间:2011-09-20 13:21:31 16有一个一维数组,内放10个学生成绩,写一个函数,求出平均分、最高分和最低分。 #include <stdio.h> float Max=0,Min=0; /*全局变量??*/ void main() { float average(float array[ ],int n); float ave,score[10]; int i; for(i=0;i<10;i++) scanf(″%f″,&score[i]); ave= average(score,10); printf(“max=%6.2f\nmin=%6.2f\n average=%6.2f\n“,Max,Min,ave); } float average(float array[ ],int n) { int i; float aver,sum=array[0]; Max=Min=array[0]; for(i=1;i<n;i++) { if(array[i]>Max)Max=array[i]; else if(array[i]<Min) Min= array[i]; sum=sum+array[i]; } aver=sum/n; return(aver); } 17外部变量与局部变量同名 #include <stdio.h> int a=3,b=5; /* a,b为外部变量*/ a,b作用范围 void main ( ) { int a=8; /*a为局部变量 */ 局部变量a作用范围 printf (″%d″, max (a,b)); 全局变量b的作用范围 } max (int a, int b) /*a,b为局部变量 */ { int c; c=a>b?a∶b; 形参a、b作用范围 return (c); } 运行结果为 8 18输出1到5的阶乘值 #include <stdio.h> void main() {int fac(int n); int i; for(i=1;i<=5;i++) printf(″%d!=%d\n″,i,fac(i)); } int fac(int n) {static int f=1; f=f*n; return(f); } 19调用函数,求3个整数中的大者。 #include <stdio.h> void main() {int max( ); /* 函数声明 */ extern int A,B,C; /* 外部变量声明 */ printf("Please enter three integer numbers:"); scanf("%d %d %d",&A,&B,&C); /* 输入外部变量的值 */ printf("max is %d
",max()); } int A ,B ,C; /* 定义外部变量 */ int max( ) {int m; m=A>B?A:B; if (C>m) m=C; return(m); 运行结果为:Please enter three integer numbers:34 –21 78max is 78 } 计算机二级考试C语言试题12