C程序设计基础上机实验指导书

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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4