| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:十几行的小问题我也不会啊,请指教。
只看楼主 加入收藏
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
十几行的小问题我也不会啊,请指教。
若有int a[3][4]={{2,1,6,4},{11,8,4,9},{9,19,4,2}},编写程序实现每行元素升序排放。操作后显示数组内容(分行)。哪里错了呢?
#include<stdio.h>
void main()
{
int a[3][4]={{2,1,6,4},{11,8,4,9},{9,19,4,2}},i,j,temp;
 for(i=0;i<3;i++)
 {for(j=0;j<3;j++)
    if(a[i][j]>a[i][j+1])
    {temp=a[i][j+1];a[i][j+1]=a[i][j];a[i][j]=temp;}
         for(j=0;j<4;j++)
         printf("%d  ",a[i][j]);
         printf("\n");
 }
}
搜索更多相关主题的帖子: 编写程序 元素 
2013-11-27 21:32
wht750109
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:49
专家分:151
注 册:2013-10-21
收藏
得分:10 
#include<stdio.h>
void main()
{
    int a[3][4]={{2,1,6,4},{11,8,4,9},{9,19,4,2}},i,j,k,temp;
    for(k=0;k<3;k++)  /*分三行分别排序*/
    {
        for(i=0;i<3;i++)        /*从本行到以下八行才是每行的排序*/
            for(j=0;j<3;j++)
            if(a[k][j]>a[k][j+1])
            {
                temp=a[k][j+1];
                a[k][j+1]=a[k][j];
                a[k][j]=temp;
            }
         for(j=0;j<4;j++)         /*本循环为打印当前行排序结果*/
              printf("%d  ",a[k][j]);
         printf("\n");
         getch();                /*回车暂停到下一个行继续*/
    }
}
/*你错在只排了每一行最大的数后就到下一行了*/
   
2013-11-27 22:18
ytlcainiao
Rank: 2
等 级:论坛游民
帖 子:48
专家分:74
注 册:2013-11-28
收藏
得分:0 
#include<stdio.h>
int main()
{
    int a[3][4]={{2,1,6,4},{11,8,4,9},{9,19,4,2}};
    printf("排序前的数为:\n");
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            printf("%4d",a[i][j]);
        printf("\n");
    }
    int m,t,k;
    for(m=0;m<3;m++)
    for(i=0;i<3;i++)
    {
        k=i;
        for(j=3;j>i;j--)
            if(a[m][k]>a[m][j])
                k=j;
        t=a[m][i];a[m][i]=a[m][k];a[m][k]=t;
    }
    printf("排序后的数为:\n");
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            printf("%4d",a[i][j]);
        printf("\n");
    }

    return 0;
}有点乱
2013-11-28 16:22
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
你这只是把每一行最大的一个数排到最后了啊。然后就结束了。
#include<stdio.h>
void main()
{
    int a[3][4]={{2,1,6,4},{11,8,4,9},{9,19,4,2}};
    int i,j,k,temp;
    for(k=0;k<3;k++)  
    {
        for(i=0;i<3;i++)        
            for(j=0;j<3-i;j++)
            if(a[k][j]>a[k][j+1])
            {
                temp=a[k][j+1];
                a[k][j+1]=a[k][j];
                a[k][j]=temp;
            }
         for(j=0;j<4;j++)         
              printf("%d  ",a[k][j]);
         printf("\n");            
    }
}

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-11-28 16:36
hoogezhh
Rank: 2
等 级:论坛游民
帖 子:8
专家分:19
注 册:2013-11-26
收藏
得分:0 
#include "stdio.h"
void main()
{       int a[3][4]={{2,1,6,4},{11,8,4,9},{9,19,4,2}},i=0,j,temp;
    for(i=0;i<3;i++)
    {
    for(j=0;j<3;j++)
        {
            if(a[i][j]>a[i][j+1])
            {temp=a[i][j+1];a[i][j+1]=a[i][j];a[i][j]=temp;}
        }
        for(j=0;j<4;j++)
        printf("%d  ",a[i][j]);
        printf("\n");
    }   
}
你得思路是对的,就是少了个大括号。。。。
2013-11-28 16:51
快速回复:十几行的小问题我也不会啊,请指教。
数据加载中...
 
   



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

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