牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2016-12-18 投稿人: 浏览次数:1154

    要读取一个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 ("
");
	}
	printf ("
");
	
	
	for (i = 0; i < 5; i++)
	{
		int hangs = 0;
		for (j = 0; j < 5; j++)
		{
			hangs = hangs + a[i][j];
		}
		printf ("第%d行的和为:%d
",i+1,hangs);
	}
	printf ("
");
	
	
	for (i = 0; i < 5; i++)
	{
		int lies = 0;
		for (j = 0; j < 5; j++)
		{
			lies = lies + a[j][i];
		}
		printf ("第%d列的和为:%d
",i+1,lies);
	}
	
	return 0;
}
        我一开始运行时程序总是无限的运行下去,在重新查看程序后才发现是我误把循环中的i < 5写成了i = 5,运行时就总是显示第6行/列的值。然而明明我心里想的是对的,敲出来就不对了,这就提醒我要高度集中的敲程序,要不然程序很长时更不容易发现!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。