| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:数组的互换
只看楼主 加入收藏
hedy704
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-7-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
数组的互换
    例7.4将一个二维数组行和列元素互换,存到另一个二维数组中。例如:
 a=1 2 3
   4 5 6
  b=14
   25
   36
程序如下:
        main()
        {
         int a[2][3]={{1,2,3},{4,5,6}};
         int b[3][2],i,j;
         printf("array a:\n");
         for (i=0;i<=1;i++)
          {
           for (j=0;j<=2;j++)
             {
               printf("%5d",a[i][j]);
               b[j][i]=a[i][j];
              }
            printf("\n");
           }
          printf("array b:\n");
          for (i=0;i<=2,i++)
            {
              for(j=0;j<=1;j++)
                 printf("%5d",b[i][j]);
              printf("\n");
             }
           }
    运行结果如下:
    array a:
        1     2     3
        4     5     6
    array b:
        1     4
        2     5
        3     6

哪位大虾给我每行都注释下啊 有点看不懂 一开始 i<=1? j<=2 ?
搜索更多相关主题的帖子: 元素 
2010-07-23 14:58
hedy704
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-7-23
收藏
得分:0 
a[2][3] 为什么 i<=1 j<=2 ? 怎么不是i<=2 j<=3呢 ?


[ 本帖最后由 hedy704 于 2010-7-23 15:18 编辑 ]
2010-07-23 15:00
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:20 
main()
        {
         int a[2][3]={{1,2,3},{4,5,6}};//申明并初始化一个整型类型的2行3列数组名为a的二维数组
         int b[3][2],i,j;//申明整型类型的3行2列数组名为b的二维数组,整型变量i,变量j
         printf("array a:\n");//输出 array a: 并换行
         for (i=0;i<=1;i++)  //for循环 这里的i 为0,1
          {
           for (j=0;j<=2;j++) //内部for循环, j为 0,1,2
          {           
               printf("%5d",a[i][j]);
               b[j][i]=a[i][j];
              }
当 i 为0时   j为0, 输出 a[0][0]的值 ,b[0][0]=a[0][0];
             j为1,输出 a[0][1]的值,b[1][0]=a[0][1];
             j为2, 输出 a[0][2]的值,b[2][0]=a[0][2];
当 i为1时   
             j为0, 输出 a[1][0]的值 ,b[0][1]=a[1][0];
             j为1,输出 a[1][1]的值,b[1][1]=a[1][1];
             j为2, 输出 a[1][2]的值,b[2][1]=a[1][2];
            printf("\n");
           }
          printf("array b:\n");
          for (i=0;i<=2,i++)
            {
              for(j=0;j<=1;j++)
                 printf("%5d",b[i][j]);
              printf("\n");
             }
           }
对于楼主的再次发问 所问的问题:
答案是 0-1 运行两次  表示行数
       0-2 运行三次   表示列数
  程序的目的是用【2,3】转换成为【3,2】
程序的方法是 用一行 转换成 一列 固然先取行,然后把行的每个数,放到列上去。

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-23 15:40
hedy704
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-7-23
收藏
得分:0 
嗯 谢谢LS的 ~~~~~~~~~~~~~
2010-07-23 17:32
zhu603809832
Rank: 1
等 级:等待验证会员
帖 子:5
专家分:0
注 册:2010-5-16
收藏
得分:0 
数组下标是从0开始
2010-07-23 20:07
hedy704
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-7-23
收藏
得分:0 
再顶下~~~~~~~~~~~~~~~~
2010-07-23 21:44
error007
Rank: 2
等 级:论坛游民
帖 子:32
专家分:23
注 册:2010-7-12
收藏
得分:0 
0~2是0,1,2

天才就是重复次数最多的人。
2010-07-24 10:26
快速回复:数组的互换
数据加载中...
 
   



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

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