void main( )
{ int i,n,s=1;
printf(\ enter n:\ scanf(\ for(i=1;i<=n;i++) s=s*i;
printf(\ = %d\\n\
4.函数fun定义如下,此函数的功能是________。 void fun(char A[ ],int n) { char tmp; int k;
for (k=0; k { tmp=A[k]; A[k]=A[n-k-1]; A[n-k-1]=tmp; } } 5.下列程序的功能是________。 #include printf(\ scanf(\ for(i=2;i<(int)sqrt(x);i++) {if(x%i==0) break;} if(i==x) printf(\else printf(\} 6.以下程序的运行结果是 。 #include { int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}; int i=0,j=0,s=0; while(i++<4) { if(i==2||i==4) continue; j=0; do{s+=a[i][j];j++;}while(j<4); } printf(\} 7.函数dtob的定义如下,它的功能是 。 void dtob(int n) //n为十进制整数 { int i; if(n>1) { i=n%2; dtob(n/2); } 5 else i=n; printf(\ 8.下面的程序运行后输出的结果是 。 #include void fun(int b) { static int a=10; a+=b++; printf(“%d”,a); } void main() { int c=20; fun(c); a+=c++; printf(\ 9.函数fun的定义如下,它的功能是 。 int fun(int num) { int k=0; do{ k+=num;num/=10;}while(num); return k; } 10.有以下程序,执行后的输出结果是 。 #include { int a []={5,8,7,6,2,7,3}; int y,*p=&a[1]; y=(*--p)++; printf(“%d ”,y); printf(“%d”,a[0]); } 三、程序填空题(根据题意在空白处填入适当的内容,使程序变得完 整。每空2分,共20分。) 1.程序说明:下面程序分别输出方阵中主对角线、副对角线上元素的和。suml 和 sum2 (主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线)。 #include \#define SIZE 5 void main() { int a[SIZE][SIZE],m,n,sum1,sum2; for(m=0;m scanf(\ sum1=sum2=0; 6 for(m=0;m sum1=sum1+__(1)__; sum2=sum2+__(2)__; } printf(\} 2.以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算: y1= (x+8)2-2(x+8)+6,y2=sin2(x)-2sin(x)+6。 #include \#include \double fun(double x) { return(x*x-2*x+6);} void main() { double x, y1, y2; printf(“Enter x: ”) ; scanf(“%lf”,&x); y1=fun( (3) ); y2=fun( (4) ); printf(“y1=%lf, y2=%lf\\n”,y1,y2); } 3.以下程序可计算1名学生10门课成绩的平均分。 #include float average(float array[10]) { int i;float aver,sum=array[0]; for(i=1;i<10;i++) sum+= (5) ; (6) ; return(aver);} void main() { float score[10],aver; int i; printf(\ for(i=0;i<10;i++) scanf(\ aver= (7) ; printf(\ 4.下列程序的功能是在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max和min中。 #include \ void find(int *a,int n,int *max,int *min) { int i; *max=*min=0; for(i=1;i 7 (9) ; } void main() { int a[]={5,8,7,6,2,7,3},max,min; find( (10) ); printf(\ %d\\n\ 四、编程题(每题5分,共10分) 1.三角形的面积为:area?s(s?a)(s?b)(s?c),其中,a,b,c为三角形的边长,1s?(a?b?c)。编写程序求面积area。要求:定义两个带参数的宏,一个用来求s, 2另一个用来求area,在程序中用带参数的宏名来求面积area。 2.编写按下面的式子计算π的程序(保留4位小数): ?11111?1???????4357911 8
相关推荐: