读取一个5*5数组,然后显示每行的和与每列的和

来源:互联网 发布:linux使用搜狗输入法 编辑:程序博客网 时间:2024/06/04 18:16

    要读取一个5*5的二维数组,首先应该定义一个二维数组并要将之初始化赋值。因为需要读取这一数组,就需要利用一个二重循环。将行号确定,列号改变,在遍历列号时再其后加上换行,之后就可以在终端打印出数组了。

     要求显示每行每列的和,就要定义两个整型的变量来存放和的值,就还需要两个二重循环。若是用i表示行,j表示列,那么算每行的和就是在循环中保证i不变时,j变化;而算每列的和是保证j不变,i变化。

      源程序如下:

#include <stdio.h>int main(){int a[5][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};int i;int j;for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){printf ("%3d",a[i][j]);}printf ("\n");}printf ("\n");for (i = 0; i < 5; i++){int hangs = 0;for (j = 0; j < 5; j++){hangs = hangs + a[i][j];}printf ("第%d行的和为:%d\n",i+1,hangs);}printf ("\n");for (i = 0; i < 5; i++){int lies = 0;for (j = 0; j < 5; j++){lies = lies + a[j][i];}printf ("第%d列的和为:%d\n",i+1,lies);}return 0;}
        我一开始运行时程序总是无限的运行下去,在重新查看程序后才发现是我误把循环中的i < 5写成了i = 5,运行时就总是显示第6行/列的值。然而明明我心里想的是对的,敲出来就不对了,这就提醒我要高度集中的敲程序,要不然程序很长时更不容易发现!

0 0
原创粉丝点击