c程序设计实验参考答案 下载本文

内容发布更新时间 : 2024/11/19 14:31:48星期一 下面是文章的全部内容请认真阅读。

3、 可能的修改程序: #include

int sum(int a, int b) //函数可以嵌套定义吗? {

return(a+b); }

void main(void) {

int x, y; //x = 1; //y = 2;

scanf(\printf(\}

四.file1.c

main() {

int a[10],i,c,d; for(i=0;i<10;i++) scanf(\ max(a);

scanf(\ yue(c,d); }

file2.c

max(int a[]) {

int i;

int m=a[0],n=a[0]; for(i=1;i<10;i++)

if(ma[i]) n=a[i]; printf(\ printf(\}

file3.c

yue(int m,int n) {

int temp,p,r; if(n

p=n*m; while(m!=0) {

r=n%m; n=m; m=r; }

printf(\ printf(\}

实验十二 参考答案

一.

1、 2 6 42 2、 40,36

3、 50,50,15,25 二.1、 func(x);

2、 f = f*n;

3、 extern a, b ; 三.

float Max=0,Min=0;

float average(float a[],int n) { int i;

float aver,sum=a[0]; Max=a[0]; Min=a[0];

for(i=1;i

{ if(a[i]>Max) Max=a[i]; else if(a[i]

aver=sum/n; return(aver); }

main()

{ float ave,wage[30];

int i;

for(i=0;i<30;i++) scanf(\

ave=average(wage,30);

printf(\}

实验十三参考答案: 一.1、sum=12

2、s=50 3、a=20,20 4、k=0 k=1 k=3 k=6 k=10

5、n1=1,n2=8 6、 2 6 8 二.

1、scanf(“%c”, &a) printf(“%c”,b) 2、s *= *(p+i);

三.1、错误在 4行应改为:p=&a;q=&b; scanf(\

2、错误在 6行应改为:p=a

错误在 7行应改为: while( p < (a+10)) 错误在 8行应改为: sum+ =*p++;

四.1、#define select(a,b) if(a>b){t=a;a=b;b=t;}

main()

{ int t,x,y,z;

scanf(\ select(x,y) select(x,z) select(y,z)

printf(\ }

2、#define N 15

search(int a[],int n,int x) { int mid,top,bot,i,find;

top=0; bot=n-1; find=0; do{ mid=(top+bot)/2;

if(x==a[mid])

{ printf(\ find=1;

}

else if(xa[mid]) top=mid+1; }

while((top<=bot)&&(find==0));

if(find==0)printf(\

}

main()

{ int a[100],x,i;

printf(\for(i=0;i

printf(\scanf(\search(a,N,x); }

实验十四参考答案: 一.

1、 2,4,6,8,10,12,14,16,18,20 20,18,16,14,12,10,8,6,4,2 2、 6 二.

1、 *sptr++ 2、 pa++,pb++

*pa=*pb;

mystrcat(a,b);

三.1、 8 行 pa=va[0];pb=vb[0]; 改成 pa=&va[0];pb=&vb[0]; 2、 14 行 p=p1;p1=p2;p2=p; 改成 strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p) 四.

#include main() { char

*week[]={\ int n;

printf(\scanf(\if (n>=1&&n<=7)

printf(\else printf(\ Error!\\n\}

实验十五参考答案: 一.1、12 2、10,x 3、2 3

两条printf语句改为一条:printf(“n%d,%的”++p->x,(++p)->x);重新运行程序结

果为4

二.1、scanf(“%x”,&val,n)

2、s=(struct node *) malloc (sizeof(node)); 3、pd->day;

三. 1、 第9行 } m 改为 } m ;

2、 第6行 struct list p,q;改为struct list *p,*q; 四.写程序

读取N个学生的数据,每个学生的数据包括学号、姓名、若为男生(m),还要输入视力正常否(y/n);若为女生(f),还要输入身高和体重。最后输出这些数据。 #include #define n 3 struct

{ char name[10];

int no;

char sex[2]; union body

{ char eye[2]; struct { float height; float weight; }f;

}body; }per[n]; void main() { int i;

printf(\输入学号 姓名 性别(f/m)\\n\

printf(\若为男生(m) 还输入视力正常否(y/n)\\n\printf(\若为女生(f) 还要输入身高,体重\\n\for(i=0;i

{ printf(\第%d个学生:\

scanf(\if(per[i].sex[0]=='m')

scanf(\

else if(per[i].sex[0]=='f')

scanf(\

else

printf(\性别输入错误\\n\

}

printf(\输出结果:\\n\

printf(\学号 姓名 性别 视力正常?身高 体重\\n\

}

实验十六 参考答案: 一.

1、84 bd 39 2、x=11 y=17 z=11 3、hell 二.1、 |

2、y=y^x; x=x^y;

3、”abc.dat”,”w+” 4、!feof(fp)

三.#include main()

{ FILE *fp;

int num;

float x , y , z , s1 , s2 , s3 ; fp=fopen (\

{ fscanf (fp,\

s1=s1+x; s2=s2+y; s3=s3+z;

if((x+y+z)/3>=90)

num=num+1;

}

printf(\分数高于90的人数为:%.2d\fclose(fp); }