为了账号安全,请及时绑定邮箱和手机立即绑定

一百个数围成一个圆掷骰子 丢到那个数字就就让那个数字出列然后以该位置作为起始继续掷到所有数字输出

一百个数围成一个圆掷骰子 丢到那个数字就就让那个数字出列然后以该位置作为起始继续掷到所有数字输出

C
qq_白水_04341277 2016-11-18 15:01:12
查看完整描述

4 回答

?
达郎贝

TA贡献1条经验 获得超0个赞

我学的C语言
查看完整回答
反对 回复 2016-11-25
?
Yexiaomo

TA贡献152条经验 获得超157个赞

代码  下面有个测试代码

#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main(void)
{
    int nums[100] = {0}, i = 100, index; //index作为下标 
    srand((int)time(0));
    for(;i;)
    {
        index = rand() % 100 ;//产生一个 100 以内的非负整数 
     
        if(!nums[index]) //如果 nums[index] 中存放的是 1 , 则代表这个数就已经输出过 
        {
            printf("%10d", index);
            nums[index] = 1;
            i--;
        }    
    }
    return 0;
}

测试代码

#include<stdio.h>
#include<stdlib.h>
#include <time.h>
/* 冒泡排序, 排序后输出*/ 
void Bubble_Sort(int *num, int n); //参数1: 数组的首地址, 参数2: 数组的长度 

int main(void)
{
    int a[100], j = 0; //测试, 数组 a 存放产生的随机数,  
	
    int nums[100] = {0}, i = 100, index; //index作为下标 
    
    srand((int)time(0));
    for(;i;)
    {
        index = rand() % 100 ;//产生一个 100 以内的非负整数 
        
        if(!nums[index]) //如果 nums[index] 中存放的是 1 , 则代表这个数就已经输出过 
        {
        	a[j++] = index;//测试 -->将 产生的数放至 数组 a 中 
            printf("%10d", index);
            nums[index] = 1;
            i--;
        }
        
    }
    printf("\n\n----------排序后,测试-----------\n");
    Bubble_Sort(a,100);
    return 0;
}

void Bubble_Sort(int *num, int n)
{
    int i, j;
    for(i = 0; i < n; i++)
    {
        for(j = 0; i + j < n - 1; j++)
        {
            if(num[j] > num[j + 1])
            {
                int temp = num[j];
                num[j] = num[j + 1];
                num[j + 1] = temp;
            }
        }
    }
    
    for(i = 0; i < n; i++)
        printf("%10d", num[i]);
    
    return;
}

程序 有点烂, 不懂了下面回复

--------------------------------------------------------

啦啦~~Imcainiao

查看完整回答
反对 回复 2016-11-18
  • 4 回答
  • 0 关注
  • 1615 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信