| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 671 人关注过本帖
标题:再发一个 循环的,有点不明白
只看楼主 加入收藏
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
结帖率:100%
收藏
 问题点数:0 回复次数:11 
再发一个 循环的,有点不明白
#include "stdio.h"
void main()
{
   int i,a[3],s;
   for(i=0;i<3;i++)
   scanf("%d",&a[i]);



      for(i=0;i<2;i++)
   while(a[i]>a[i+1])
   {
       s=a[i];a[i]=a[i+1];a[i+1]=s;
   }
   
    for(i=0;i<3;i++)

   printf("%d  ",a[i]);

}
嘿嘿有帮忙,那就多问啦~~在这个程序中怎么才能让
   for(i=0;i<2;i++)
   while(a[i]>a[i+1])
   {
       s=a[i];a[i]=a[i+1];a[i+1]=s;
   }
多循环几次啊?
问题是让输入一个数组,之后从小到大输出 ,这是我能想到的方法,可是只能比对一次,我想让他多循环几次
搜索更多相关主题的帖子: include include 
2011-09-04 09:44
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 楼主 fedcab123
仅供参考: k为你要比较数组大小 for(n=0;n<k;n++) for(i=0;i<k-1;i++) if(a[n]<=a[i+1]) a[n]=a[i+1];

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-04 10:18
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
问题是你比较的话 只是比较一趟 并不能达到你的要求要想从小到大输出可以采用冒泡排序或者选择排序等
2011-09-04 10:21
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
收藏
得分:0 
冒泡排序方法很好记,可以这样写:
程序代码:
#include "stdio.h"
void main()
{
    int a[3]={0};
    int i0=0,i1=0,temp=0;
    for(i0=0;i0<3;i0++)
    {
        scanf("%d",&a[i0]);
    }
    for(i0=0;i0<3;i0++)//这样排序耗时长,但是容易记住。
    {
        for(i1=0;i1<(3-1);i1++)
        {
            if(a[i1]>a[i1+1])
            {
                temp=a[i1];
                a[i1]=a[i1+1];
                a[i1+1]=temp;
            }
        }
    }
    for(i0=0;i0<3;i0++)
    {    
        printf("%d\n",a[i0]);
    }
}

一个单片机就让我头疼不已~~~
2011-09-04 10:30
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
收藏
得分:0 
哦,那能在我的那个基础上加条件 让他自己循环么?
冒泡排序是for语句里的么?我是看网上视频学的,刚刚学到一维数组
2011-09-04 11:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
没分了,还发那么多。

授人以渔,不授人以鱼。
2011-09-04 11:23
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
收藏
得分:0 
刚刚来的嘛,没分没分,嘿嘿

[ 本帖最后由 fedcab123 于 2011-9-4 12:30 编辑 ]
2011-09-04 12:18
博士无双
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2011-7-5
收藏
得分:0 
用冒泡排序或者选择排序,有现成的算法,
这是冒泡排序
for(i=0;i<3;i++)
    for(j=i;j<3;j++)
       if(a[j]>a[j+1])
       {
           temp=a[j];
           a[j]=a[j+1];
           a[j+1]=temp;
        }
2011-09-08 10:55
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
收藏
得分:0 
对冒泡完全不明白……
看式子能懂但不理解
2011-09-08 15:12
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:0 
循环结构应该这样写
程序代码:
for(…;…;…)
{
    …………
    //不管这里有多少个语句都要加上大括号,没语句就在for的后面加个分号
    while(…)
    {
        …………
         //不管这里有多少个语句,都应加上大括号,没语句就直接在while的后面加分号
    }
}

这是为了方便阅读,而且可以理清思路。




嘎嘎。。。水一贴。。

2011-09-08 15:22
快速回复:再发一个 循环的,有点不明白
数据加载中...
 
   



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

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