#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
}