| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1005 人关注过本帖, 1 人收藏
标题:随机数,哪里错了
只看楼主 加入收藏
FizzyElf
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2016-6-2
结帖率:50%
收藏(1)
已结贴  问题点数:20 回复次数:3 
随机数,哪里错了
#include <stdio.h>
#define MAX 100000  

int main(void)
{
    int a[MAX + 1];   
    //a[0] - a[MAX]    a[1] - a[MAX]
    int i,j;
    //赋初值部分  (随机数)
    for(i = 1;i <= MAX;i++)  
        a[i] = rand();      
    for(i = 2;i <= MAX;i++)
    {
        if(a[i] < a[i - 1])   
        {
            a[0] = a[i];     
                             
            for(j = i - 1;a[0] < a[j];i--)   
            {
                a[j + 1] = a[j];        
            }
            //a[0] >= a[j]
            a[j + 1] = a[0];
        }
    }
    //检测部分
    for(i = 1;i < MAX;i++)
    {
        if(a[i] > a[i + 1])
        {
            printf("process failed\n");
            return 0;
        }
    }
    printf("process success\n");
    return 0;
}
搜索更多相关主题的帖子: include 
2016-08-12 20:47
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:20 
stdlib.h
2016-08-12 21:22
FizzyElf
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2016-6-2
收藏
得分:0 
还是不行啊
没得输出

O(∩_∩)O
2016-08-18 20:55
Scalpel
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-8-18
收藏
得分:0 
你这是要生成随机数,然后进行排序吗?

在排序过程中,for语句有问题:
for(i = 2;i <= MAX;i++)
    {
        if(a[i] < a[i - 1])   
        {
            a[0] = a[i];     
                             
            for(j = i - 1;a[0] < a[j];i--)   // 注:这个for语句中判断条件,a[0] < a[j]; 可能会造成永远是真,然后无限循环
            {
                a[j + 1] = a[j];        
            }
            //a[0] >= a[j]
            a[j + 1] = a[0];
        }
    }

2016-08-18 23:51
快速回复:随机数,哪里错了
数据加载中...
 
   



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

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