2.程序填空(根据题意在空白处填入适当的内容,使程序变得完整。并上机进行调试验证)
(1)程序说明:下面程序分别输出方阵中主对角线、副对角线上元素的和suml和sum2(主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线). #include\
#define SIZE 5 void main() {
int a[SIZE][SIZE],m,n,sum1,sum2; for(m=0;m scanf(\ sum1=sum2=________; for(m=0;m sum1=sum1+______; sum2=sum2+______; } printf(\} (2)程序说明:下面程序打印出如下所示的杨辉三角行(打印10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ……. #include\void main() { int i,j,a[10][10]={{1},{1,1}}; for(i=2;i<10;i++) { a[i][0]=1;___________; for(j=0;j a[i][j]=a[i-1][j]+____________; } for(i=0;i<10;i++) { for(j=0;j<=i;j++) 30 printf(\ ___________; } } 3.程序设计(根据题意编写程序并上机进行调试)。 (1) 设有一个3行5列的数组,编写程序从键盘输入数据,并找出二维数组中最大元素的值及其行、列下标。 (2)已知A是一个3×4矩阵,B是一个4×5矩阵,编写程序,从键盘输入矩阵A、B的值,求A×B得到的新,并输出矩阵C。 (3)设某班有20个学生,每个学生选修了三门课,编写程序,输入20个学生三门课的成绩,计算每个学生的平均成绩,最后输出每个学生三门课的成绩及平均成绩。 实验十 函数应用(一) 一、实验目的 1.掌握函数的定义、函数的说明和调用。 2.掌握函数的参数及其传递方式,函数值的正确返回。 二、实验内容 1.阅读下面程序,写出程序运行结果,并且上机进行验证。 (1)#include \ int swap(int a,int b) { int c,s; c=a; a=b; b=c; s=a+b; return s; } void main() { int a,b,s; a=3;b=4; s=swap(a,b); printf(\} (2)#include \ 31 int fun(int num) { int k=1; do { k*=num ; num/=10; while(num); return(k); } void main() { int n=26; printf(\ } 2.程序填空(根据题意在空白处填入适当的内容,使程序变得完整。并上机进行调试验证) (1)程序说明:下面程序将输入的十进制数n转换为b进制数,并将转换结果输出。转换的方法是:除b取余法。 #include \ void transfer(int m,int k) { int a[20],i; for(i=0; m; i++) { a[i]= ; m/=k; } for(;i>=0;i--) printf(\ } void main() { int b,n; scanf(\ ; } (2)程序说明:歌德巴赫猜想指出:任何一个充分大的偶数都可以表示为两个素数之和,例如4=2+2 6=3+3 8=3+5… 50=3+47。下面程序将4-50之间的所有偶数用两个素数之和表示,判断一个整数是否为素数用函数prime完成。 #include \ int prime(int x) 32 { int k,flag=1; for(k=2;k<=x/2;k++) if( ) { flag=0; break; } return( ); } void main() { int m,n,k; for(m=4;m<=50;m++) for(n=2;n if(prime(n) && ) { printf(\ break; } } 3.程序设计(根据题意编写程序并上机进行调试)。 m(1)编写程序求组合数Cn?n!,其中n,m由键盘输入。要求设计一 m!?n?m?!个函数fac(n)求某个正整数n的阶乘。 (2)孪生素数是指两个相差为2的素数。例如3和5,5和7,11和13等。编写程序输出m对(m由键盘输入)孪生素数。要求设计函数prime用于判断某整数是否素数。 (3)找出2~1000以内的完全数。说明:完全数是一个自然数,它等于除本身以外的所有因子之和,例如:6=1+2+3,6就是一个完全数。要求定义一个函数来判断并输出 实验十一 函数应用(二) 一、实验目的 1.掌握函数的嵌套调用和递归调用 2.掌握数组做函数参数的用法 3.掌握全局变量和局部变量的用法。 4.掌握变量的存储类别。 33 二、实验内容 1.阅读下面程序,写出程序运行结果,并且上机进行验证。 (1)#include ?stdio.h? int a=3,b=5,c; int f(int b) { c=a+b; printf(\ } void main() { int a=8; f(3); printf(\ } (2) #include \ void dtob(int n) { int i; if(n>1) { i=n%2; dtob(n/2); } else i=n; printf(\ } void main() { int i=11; printf(\ dtob(i); printf(\ } (3) #include \ int f1(int n) { static int f=1; f=f*n; return(f); } void main() 34