内容发布更新时间 : 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 *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 { 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 { 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); }