| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 510 人关注过本帖
标题:[求助]关于二维数组应用的问题!
取消只看楼主 加入收藏
小说贝斯
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-4
收藏
 问题点数:0 回复次数:2 
[求助]关于二维数组应用的问题!
最近看了一个题型,但是在一些细节上出现了问题,希望在这能得到帮助!
题目:读入下表中数值到数组,分别求各行、各列、以及表中所有数之和。
12 4 6
8 23 3
15 7 9
2 5 17
我的程序是这样的:
#include<stdio.h>
main()
{int x[5][4],i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&x[i][j]);
for(i=0;i<5;i++)
x[i][3]=0;
for(j=0;j<4;j++)
x[4][j]=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{ x[i][3]+=x[i][j];
x[4][j]+=x[i][j];
x[4][3]+=x[i][j];
}
for(i=0;i<5;i++)
{for(j=0;j<4;j++)
printf("%5d\t",x[i][j]);
printf("\n");
}
}
标准答案给的是:
#include<stdio.h>
main()
{int x[5][4],i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&x[i][j]);
for(i=0;i<3;i++)
x[4][i]=0;
for(j=0;j<5;j++)
x[j][3]=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{ x[i][3]+=x[i][j];
x[4][j]+=x[i][j];
x[4][3]+=x[i][j];
}
for(i=0;i<5;i++)
{for(j=0;j<4;j++)
printf("%5d\t",x[i][j]);
printf("\n");
}
}
但是两个程序的运行结果一样的。所以想问一下,我的写法是不是对的?自己觉得和标准答案相比,标准答案更好!
搜索更多相关主题的帖子: 应用 
2007-08-07 11:30
小说贝斯
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-4
收藏
得分:0 
希望高手能够详细分析一下这两个程序!谢谢了!
关键是:
for(i=0;i<5;i++)
x[i][3]=0;
for(j=0;j<4;j++)
x[4][j]=0;

for(i=0;i<3;i++)
x[4][i]=0;
for(j=0;j<5;j++)
x[j][3]=0;
的区别!!!

Standing on Shoulders of Giants
2007-08-07 11:38
小说贝斯
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-4
收藏
得分:0 
以下是引用aipb2007在2007-8-7 11:59:36的发言:

你连这个区别也看不出来???

数组里第5行第4列那个元素,你用了两次赋值为0,标准答案一次。

没什么希奇,效果都一样。

呵呵,偶是个初学者,让斑竹见笑了!!
现在明白了,原来是初始化多了一次啊!难怪结果一样!谢谢各位了!

Standing on Shoulders of Giants
2007-08-07 12:13
快速回复:[求助]关于二维数组应用的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016022 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved