#include "stdio.h* /**其关*共共共☆xERR0R☆*共共共*关☆☆*/ Fun(inta[1[51),b[4] inti,i.t; For(i=0;i<5;i++) /**☆关**长关关xERR0R******关*关*/ t=0; for(j-0;j4;j++) t=t+a[i1[1; /长***水芥水水*ERR0R*****水***/ b[j1=t; 7 main() int a[][51,[5],i,ji; For(i-0;i<4;i++) for(j=0;j<5;j++) 5Canf (d*", a[i1[j1); for(i-0;i<4;i++) (for(j=0;j<5:j++) printF(:5,a[i1[1): printF( n:); Fun(a,b); /*关*******ERR0R****关*****/ For(i=1;i5;i++) printF(:名50:,b[i]1程序改错
时间: 2023-07-23 22:37:18 浏览: 106
以下是经过修改后的代码:
#include <stdio.h>
void Fun(int a[][51], int b[]) {
int i, j, t;
for (i = 0; i < 5; i++) {
t = 0;
for (j = 0; j < 4; j++) {
t = t + a[i][j];
}
b[i] = t;
}
}
int main() {
int a[4][5], b[5], i, j;
for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++) {
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++) {
printf("%5d", a[i][j]);
}
printf("\n");
}
Fun(a, b);
for (i = 0; i < 5; i++) {
printf("%5d", b[i]);
}
return 0;
}
主要修改如下:
1. 删除了头文件中的星号和错误提示。
2. Fun 函数中,修正了数组 a 和 b 的参数类型和维数,修正了循环中的下标。
3. main 函数中,修正了数组 a 和 b 的维数,修正了循环中的下标,修改了输出格式。
4. 去除了注释中的星号和错误提示。
这段程序的功能是输入一个 $4\times 5$ 的二维数组,然后调用 Fun 函数,计算每一列的和,并将结果存储在数组 b 中,最后输出数组 a 和数组 b 的值。
阅读全文