| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 390 人关注过本帖
标题:再请教C循环问题:
取消只看楼主 加入收藏
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
再请教C循环问题:
   前几天发了一个:请教C循环问题,感谢有容乃大及诸位网友的热情参与。读了有容乃大以下的程序:有两点不明白。
程序代码:
#include <stdio.h>
#define N 10

int main(void)
{
    int max, min, i, j, index, a[N];

    printf("Please input 10 number:\n");
    for (i = 0; i < N; i++)
    {
        scanf("%d", &a[i]);
    }
    max = min = a[0];
    for (i = 0; i < N; i++)
    {
       if (min > a[i])
          min = a[i];
    }

    for (j = 0; j < N; j++)
    {
        for (i = 0; i < N; i++)
            if (max < a[i])
            {
                max = a[i];  
                index = i;
            }      
         printf("a[%d] = %d\n", index, max);
              a[index] = min - 1;
               max = min - 1;  
    }
        return 0;
}
对最后两名a[index]=min-1;和max=min-1不明白。这应该就是有容乃大说的:“输出一个数,拿掉一个数:”请问
这两句是如何现实:输出一个数,拿掉一个数。的呢        
搜索更多相关主题的帖子: 天发 热情参与 color 
2012-03-04 21:49
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:0 
谢谢有容乃大。明白了。让最大数比最小数还小,确实是好办法。
你说的缺陷是不是就是:这个原来的最大数仍然参与循环。只能由大到小排序,不能由小到大排?
2012-03-05 08:59
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:0 
其实我们可以让每轮排完序的最大数等于小数。应该也能完成正确的排序。
2012-03-05 15:51
快速回复:再请教C循环问题:
数据加载中...
 
   



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

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