c语言中 用函数计算二维数组每行之和以及每列之和 怎么编程?

Python045

c语言中 用函数计算二维数组每行之和以及每列之和 怎么编程?,第1张

已通过测试

#include <stdio.h>

void fun(int a[][10],int row,int col)

{ int i,j,k,sum

int r[10],c[10]

k=0

for(i=0i<rowi++)

{ sum=0

for(j=0j<colj++)

sum+=a[i][j]

r[k]=sum

k++

}

k=0

for(j=0j<colj++)

{ sum=0

for(i=0i<rowi++)

sum+=a[i][j]

c[k]=sum

k++

}

for(k=0k<rowk++)

printf("the sum of NO.%d row is %d\n",k+1,r[k])

for(k=0k<colk++)

printf("the sum of NO.%d column is %d\n",k+1,c[k])

}

main()

{ int a[10][10],row,col

int i,j

printf("Input the row and column of array:")

scanf("%d%d",&row,&col)

for(i=0i<rowi++)

for(j=0j<colj++)

scanf("%d",&a[i][j])

fun(a,row,col)

}

#include<stdio.h>

int main()

{

        //如果没有学过动态内存分配就这样写吧

int a[10][10], i = 0, j = 0, m, n, sum[10] = { 0 }

printf("请输入行数与列数:\n")

scanf("%d%d", &m, &n)

printf("请依次输入数据:\n")

for (i=0i<mi++)

{

for (j=0j<nj++)

{

scanf("%d", &a[i][j])

sum[i] = sum[i] + a[i][j]

}

}

for (i=0 i < m i++)

    printf("第%d行的和为:%d\n", i+1,sum[i])

}

如果学过动态内存分配,可以创建合适大小的数组。而这里是创建一个较大的数组。

#include<stdio.h>

int main()

{

float a[3][3]

float sum1,sum2,sum

int i,j

sum=0

float count=1

for(i=0i<3i++) //初值

{

for(j=0j<3j++)

a[i][j]=count++

}

for(i=0i<3i++) //输出

{

for(j=0j<3j++)

printf("%.2f\t",a[i][j])

printf("\n")

}

printf("\n")

for(i=0i<3i++)

{

sum1=0

sum2=0

for(j=0j<3j++)

{

sum1+=a[i][j]//各行之和

sum2+=a[j][i]//各列之和

}

sum+=sum1+sum2

printf("第%d行:",i)printf("%.2f:\t",sum1)

printf("第%d列:",i)printf("%.2f:\t",sum2)

}

printf("总和SUM=%.2f\n",sum)

return 1

}