规律1:横向求和,在对数组中的元素输入时,可在每一行的输入结尾统计一次行的和。纵向求和即字面意思。
问题不难,直接上代码
#include<stdio.h>
main()
{ int i,j,cnt,cnt1,c,N,M;
printf("请输入行数和列数");
scanf("%d%d",&N,&M);
int a[N][M];
for(i=0;i<(N-1);i++){
printf("请输入第%d个学生的各科成绩\n",i+1);
cnt=0;
for(j=0;j<(M-1);j++)
{
scanf("%d",&a[i][j]);
cnt+=a[i][j];//记录横向的和
}
a[i][M-1]=cnt;
c+=cnt;
}
printf("\n");
for(i=0;i<(M);i++)
{
cnt1=0;//千万记住出现随机值是有变量没赋初值
for(j=0;j<(N-1);j++){
cnt1+=a[j][i];
}a[N-1][i]=cnt1;//这里输出纵向的和
}
for(i=0;i<(N);i++){
for(j=0;j<M;j++)
{
printf("%6d",a[i][j]);
}
printf("\n");
}
return 0;
}
这里到时有因为出现随机值没想到有变量没赋初值,倒是浪费了笔者一些时间。
输出结果