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

qq_白水_04341277
浏览 1616回答 4
4回答

达郎贝

我学的C语言

Yexiaomo

代码  下面有个测试代码#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
打开App,查看更多内容
随时随地看视频慕课网APP