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

    要读取一个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行/列的值。然而明明我心里想的是对的,敲出来就不对了,这就提醒我要高度集中的敲程序,要不然程序很长时更不容易发现!

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值