| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1656 人关注过本帖
标题:[求助]数组倒序输出
只看楼主 加入收藏
菜鸟笨鸟
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-9-2
收藏
 问题点数:0 回复次数:4 
[求助]数组倒序输出

一维数组的倒序输出 我能做出来
有2种方法
第一种是用循环把数组的下标控制从下标大的开始输出(比较简单)
第二种是把数组元素换位。

在一维的基础上我用第二种方法把二维数组也倒着输出 却只能对几个数组起作用可以达到要求
我知道毛病出在哪 但是不知道怎么控制
程序在下面

我定义的是3*3的数组 如果把M和N的值换成其他的 则有的可以有的不行

#include<stdio.h>
#define N 3
#define M 3
void main()
{
int a[N][M],i,j,t;
printf("请输入数据:\n");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]); //数组录入


printf("原数组:\n");
for(i=0;i<N;i++)
{
printf("\n");
for(j=0;j<M;j++)
printf("%3d",a[i][j]);
}
printf("\n"); //数组原样输出


for(i=0;i<=N-2;i++) /*问题在这里 i应该怎么样用 N和M控制 ?i<=N-2 和j<M-i不适应所有长度的数组
可不可以改一下 当M和N取不同值时候 都可以进行倒序互换?*/

for(j=0;j<M-i;j++)
{

t=a[i][j];
a[i][j]=a[N-i-1][M-j-1];
a[N-i-1][M-j-1]=t;
}


printf("逆序数组:\n"); //输出逆序数组
for(i=0;i<N;i++)
{
printf("\n");
for(j=0;j<M;j++)
printf("%3d",a[i][j]);
}
printf("\n");

}

搜索更多相关主题的帖子: 倒序 输出 
2006-09-27 01:04
菜鸟笨鸟
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-9-2
收藏
得分:0 
哪位高手知道哇?

偶是大菜鸟~!
2006-09-27 09:57
linwei69
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-12-18
收藏
得分:0 
for(i=0;i<=N-2;i++) for(j=0;j<M-i;j++)
将这两个循环合并成一个即M+N为整个循环长度然后再逐一交换
2006-09-27 10:42
菜鸟笨鸟
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-9-2
收藏
得分:0 

是for(i=0;i<=M+N;i++)吗??
不懂


偶是大菜鸟~!
2006-09-27 18:29
gigifancy
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-14
收藏
得分:0 
我不会,但要谢谢LZ,给了我莫大的提示
2009-11-02 23:15
快速回复:[求助]数组倒序输出
数据加载中...
 
   



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

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