我想用这个exchange函数将括号里第一个数组的值放进括号里第二个数组,第二个数组最后add项为0,但最后的结果打印出来是错的
#include<stdio.h>
void exchange(int a[],int b[],int k);
int main()
{ int i,n;
printf("请输入学生人数\n");
scanf("%d",&n);
int chinese[n],english[n],math[n];
printf("请输入学生学号\n");
int num[n];
int j=1;
for(i=0;i<n;i++,j++){
printf("请输入第%d个学生的学号\n",j);
scanf("%d",&num[i]);
}
printf("请输入学生的成绩\n");
for(i=0,j=1;i<n;i++,j++){
printf("请输入第%d个学生的语文成绩:\n",j);
scanf("%d",&chinese[i]);
printf("请输入第%d个学生的英语成绩:\n",j);
scanf("%d",&english[i]);
printf("请输入第%d个学生的数学成绩:\n",j);
scanf("%d",&math[i]);
}
printf("请输入学生学号以查询该生成绩\n");
int number;
scanf("%d",&number);
for(i=0;i<n;i++){
if(number==num[i]){
printf("学号为%d的成绩如下:\n",num[i]);
printf("语文成绩为: %d\n",chinese[i]);
printf("英语成绩为: %d\n",english[i]);
printf("数学成绩为: %d\n",math[i]);
printf("三科平均分为%d\n",
(chinese[i]+english[i]+math[i])/3);
}
}
printf("若想要修改学生成绩请输入学号,否则输入0\n");
int k;
scanf("%d",&k);
int control=1;
if(k!=0){
while(control!=0){
for(i=0;i<n;i++){
if(k==num[i]){
printf("输入0以修改该生学号,否则输入任意数\n");
int detm1,detm2;
scanf("%d",&detm1);
if(detm1==0){
int change;
printf("输入修改后的学号");
scanf("%d",&change);
num[i]=change;}
printf("输入0以修改该生成绩,否则输入任意数");
scanf("%d",&detm2);
if(detm2==0){
printf("输入修改后的语文、英语、数学成绩\n");
int c,e,m;
scanf("%d",&c);
scanf("%d",&e);
scanf("%d",&m);
printf("%d",c);
chinese[i]=c;english[i]=e;math[i]=m;
}
}
}
printf("继续修改请输入学号,否则输入0\n");
scanf("%d",&k);
if(k==0){
control=0;
}
}
}
printf("输入1以添加新的学生,否则输入0\n");
int x;
scanf("%d",&x);
if(x){
printf("请输入添加学生个数\n");
int add;
scanf("%d",&add);
int fnum[n+add],fchinese[n+add],fenglish[n+add]
,fmath[n+add];
exchange(num,fnum,n);
exchange(chinese,fchinese,n);
exchange(english,fenglish,n);
exchange(math,fmath,n);
printf("请输入新增同学学号和各科成绩\n");
int number1,chinese1,english1,math1;
for(i=n;i<n+add;i++);{
printf("请输入第%d位同学的学号\n",i);
scanf("%d",&number1);
fnum[i]=number1;
printf("请输入第%d位同学的语、英、数成绩",i);
scanf("%d%d%d",&chinese1,&english1,&math1);
fchinese[i]=chinese1;fenglish[i]=english1;fmath[i]=math1;
}
for(i=1;i<n+add;i++){
printf("%d",fchinese[i]);
}
}
return 0;
}
void exchange(int a[],int b[],int k)
{
int i;
for(i=0;i<k;i++){
b[i]=a[i];
}
}