| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:可以把这个程序中三个for(i=0;i<6;i++)循环合并么?如何操作?thx!
取消只看楼主 加入收藏
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
可以把这个程序中三个for(i=0;i<6;i++)循环合并么?如何操作?thx!
以下的编程为的是:输入6个整数,按从小到大的顺序排列。试过把三个for(i=0;i<6;i++)循环合并在一起,各个for(i=0;i<6;i++)中循环其余部分分别用花括号合并在一起,发现结果并不正确。可以把三个循环合并么?
#include <stdio.h>
int main()
{
    int a[6];
    int max=a[0],i,j,h;
    for(i=0;i<6;i++)
    {
    scanf("%d",&a[i]);
    }
   
    for(i=0;i<6;i++)
    for(j=0,max=a[0];j<6-i;j++)
    if (a[j]>a[j+1])
        {
        max=a[j];
        a[j]=a[j+1];
        a[j+1]=max;
        }
    for(i=0;i<6;i++)
    printf("%d ",a[i]);
   
    return 0;
}

[ 本帖最后由 fallenpeanut 于 2015-4-15 09:47 编辑 ]
2015-04-15 09:44
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
收藏
得分:0 
回复 2楼 wp231957
这个是我自己写的,但是完了觉得不够简洁,但合在一起运行结果又不对,不知道错误在哪里。为什么改成下面的这样结果就不对了?for(i=0;i<6;i++)循环下运行整个的用了花括号,各个循环按先后顺序~哦!我明白了……按先后顺序每个结构循环一次再i++额,包括printf的输出。谢谢!
#include <stdio.h>
int main()
{
    int a[6];
    int max=a[0],i,j,h;
    for(i=0;i<6;i++)
{
    {
    scanf("%d",&a[i]);
    }
   
    {
    for(j=0,max=a[0];j<6-i;j++)
    if (a[j]>a[j+1])
        {
        max=a[j];
        a[j]=a[j+1];
        a[j+1]=max;
        }
    }
        {
    printf("%d ",a[i]);
    }
}
   
    return 0;
}
2015-04-15 10:03
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
收藏
得分:0 
回复 4楼 wp231957
受教了!十分感谢!
2015-04-15 18:51
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
收藏
得分:0 
回复 4楼 wp231957
谢谢指点,我再想想。
2015-04-15 20:45
快速回复:可以把这个程序中三个for(i=0;i<6;i++)循环合并么?如何操作?thx!
数据加载中...
 
   



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

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