c语言作业题 高手进

来源:百度知道 编辑:UC知道 时间:2024/05/10 04:44:37
定义一个函数fun 功能是把A数组的5个数和B数组的5个数一一对应相加,结果存在C数组中,例如 A数组里的数是 1 2 3 4 5,B数组里边的数是 5 4 3 2 1 调用该函数后,C数组的数是2 4 6 8 10 我自己做了1下 但最后C数组运行时是乱码,我把程序发出来请高手帮我看1下 我哪有毛病 谢谢了
#include <stdio.h>
void fun();
void main()
{
fun();
}
void fun()
{
int a[5],b[5],c[5],i,j,k;
printf("请输入 A数组5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("请输入B数组的5个数:");
for(j=0;j<5;j++)
scanf("%d",&b[j]);
for(j=4;j>=0;j--)

printf("\n逆序的B数组为%d",b[j]);
for(k=0;k<5;k++)
{ c[k]=a[i]+b[j];

printf("\nc数组的数是%d",c[k]);
}
}

最后一个循环中的 i 和 j 无值,把 i 和 j 改成 k 就是数组的相加了

for(k=0;k<5;k++)
{
c[k]=a[k]+b[k];
printf("\nc数组的数是%d",c[k]);
}

程序中的下面这个循环看着有点别钮,不知道有什么意图,最好不要出现别钮的代码.你要用a数组和b数组的逆序相加的话应该是把c[k]=a[k]+b[k];改成c[k]=a[k]+b[4-k];
for(j=4;j>=0;j--)

printf("\n逆序的B数组为%d",b[j]);

由于我没有装可以调试C的软件,无法确定其它地方有没有问题,如果还有地方有问题的话建议在每个循环输入的地方加一句提示,如:printf("请输入a组第%d个数:",i);

,例如 A数组里的数是 1 2 3 4 5,B数组里边的数是 5 4 3 2 1 调用该函数后,C数组的数是2 4 6 8 10

那C里面的该是6 6 6 6 6