| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:求助。。。看下这个程序
只看楼主 加入收藏
zonelight
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-11
收藏
 问题点数:0 回复次数:5 
求助。。。看下这个程序
#include "stdio.h"
#define N 3
int array[N][N];
convert(int array[N][N])
{int i,j,t;
    for(i=0;i<N;i++)
     for(j=i+1;j<N;j++)
         {t=array[i][j];
         array[i][j]=array[j][i];
         array[j][i]=t;}
     }
main()
{int i,j;
    printf("input array: \n");    
    for(i=0;i<N;i++)
     for(j=0;j<N;j++)
     scanf("%d",&array[i][j]);
     printf("aaaaa1 :\n");
     for(i=0;i<N;i++)
     {for(j=0;j<N;j++)
     printf("%5d",&array[i][j]);
         printf("\n");
     }
     convert(array);
     printf("aaaaa2 :\n");
     for(i=0;i<N;i++)
     {for(j=0;j<N;j++)
       printf("%5d",&array[i][j]);
         printf("\n");
     }
}

就是定义一个三行三列的行列式让他转置。。。。。。但是TurboC运行的时候变成这样子了
input array:
1
2
3
4
5
6
7
8
9
aaaaa1 :
1492 1494 1496
1498 1500 1502
1504 1506 1508
aaaaa2:
1492 1494 1496
1498 1500 1502
1504 1506 1508

麻烦看下什么原因。。。。。。
还有一个问题。。。。。栈是后进先出的。。。那么他入栈顺序知道了。。他的出栈顺序应该也是唯一的啊。。。。。。但是为什么看到有些题目说下列选项哪个出栈是不可能的?就是说出栈顺序不唯一吗?
搜索更多相关主题的帖子: array printf convert 
2008-03-11 20:14
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
printf("%5d",&array[i][j]);
----->
printf("%5d", array[i][j]);

坚决不跟用TC的人打交道!
2008-03-11 20:19
zonelight
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-11
收藏
得分:0 
[bo]以下是引用 [un]zbqf109[/un] 在 2008-3-11 20:19 的发言:[/bo]

printf("%5d",&array[j]);
----->
printf("%5d", array[j]);

晕啊啊。。。。。。。就这错害我卡了一下午= =。。。。
恩感谢LS指点迷津。。。。谢谢啊
还有下面那个关于栈的问题能解答下不。。。。。。我巨菜鸟一个= =

[[it] 本帖最后由 zonelight 于 2008-3-11 20:23 编辑 [/it]]
2008-03-11 20:22
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
关于栈的进出顺序,举个例子,假如现在有5个变量a, b, c, d, e, 入栈顺序是a->b->c->d->e,那么我们来看几种可能的进出栈可能:
(1)  push a
(2)  push b
(3)  push c
(4)  pop  c
(5)  pop  b
(6)  push d
(7)  pop  d
(8)  pop  a
(9)  push e
(10) pop  e
我们看到入栈的指令:
(1) (2) (3) (6) (9)
也就是 a, b, c, d, e
出栈的指令:
(4) (5) (7) (8) (10)
也就是 c, b, d, a, e
栈的“先进后出”的意思是如果 a 进栈在 b 之前,那么 a 出栈肯定在 b 之后。但是,如果 a 进栈在 b 出栈之后,那么仍旧是“b 先进,b 先出”。

坚决不跟用TC的人打交道!
2008-03-11 20:28
zonelight
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-11
收藏
得分:0 
[bo]以下是引用 [un]zbqf109[/un] 在 2008-3-11 20:28 的发言:[/bo]

关于栈的进出顺序,举个例子,假如现在有5个变量a, b, c, d, e, 入栈顺序是a->b->c->d->e,那么我们来看几种可能的进出栈可能:
(1)  push a
(2)  push b
(3)  push c
(4)  pop  c
(5)  pop  b
(6)  push d
(7)  pop  d
(8)  ...

完全明白了= =。。。。原来后进先出这么个意思。。。。感谢大大。。。。。
2008-03-11 20:34
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
我也没看出来,汗自己一个。。。。。。。。。。。。。
2008-03-11 20:46
快速回复:求助。。。看下这个程序
数据加载中...
 
   



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

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