| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 13247 人关注过本帖
标题:要求通过循环按行顺序为一个5x5的二维数组a赋1——25的自然数,然后输出该数 ...
只看楼主 加入收藏
missionary
Rank: 1
来 自:委内瑞拉
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-3
结帖率:100%
收藏
已结贴  问题点数:6 回复次数:4 
要求通过循环按行顺序为一个5x5的二维数组a赋1——25的自然数,然后输出该数组的右上半三角的元素值。
输出左下半三角时(当j<=i)就可以输出,但在输出右上半角时(当j>=i)就要溢出


#include <stdio.h>
void main()
{
int a[5][5],i,j,n=1;
for(i=0;i<5;i++)
  for(j=0;j<5;j++)
    a[i][j]=n++;
printf("the result is:\n");
for(i=0;i<5;i++)
{
  
    for(j=0;j>=i;j++)
    printf("%4d",a[i][j]);
printf("\n");
}
}
搜索更多相关主题的帖子: include 自然数 元素 
2016-05-08 15:49
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:6 
for(i=0;i<5;i++)
{
   
    for(j=0;j>=i;j++)
    printf("%4d",a[j]);
printf("\n");
}
}
for(j=5-1;j>=i;j--)
2016-05-08 16:39
missionary
Rank: 1
来 自:委内瑞拉
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-3
收藏
得分:0 
回复 2楼 linlulu001
为什么之前的不对呢,而且您的这个只是输出了右上角的数字,但位置是反的?

无言最长篇
2016-05-08 17:52
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
回复 3楼 missionary
加个int k;
i循环时让k=i;
在执行j循环的时候,a[i][k++];输出右上角的。
你主要是算法出问题,指出来了在自己想想不就行了。
2016-05-08 18:33
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
你的算法就是输出左下角的。怎么能输出右上角呢。
#include <stdio.h>
int main()
{
int a[5][5],i,j,n=1,k;
for(i=0;i<5;i++)
  for(j=0;j<5;j++)
    a[i][j]=n++;
printf("the result is:\n");
for(i=0;i<5;i++)
{    k=i;
  
    for(j=4;j>=i;j--)
    {
        printf("%4d",a[i][k++]);//右上角;
        
        
    }
   
printf("\n");
    for(n=0;n<=i;n++)
    {
        printf("%4d",a[i][n]);//左下角;
    }
    printf("\n");
}
}

[此贴子已经被作者于2016-5-8 18:37编辑过]

2016-05-08 18:35
快速回复:要求通过循环按行顺序为一个5x5的二维数组a赋1——25的自然数,然后输 ...
数据加载中...
 
   



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

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