當前位置:編程學習大全網 - 編程語言 - C語言程序:從N個數中隨機取出100個不同的數

C語言程序:從N個數中隨機取出100個不同的數

/**妳題目中的N個數至少得大於100吧.下面的程序N個數是隨機生成

妳的N個數是 同時這個程序有錯誤的話請告訴我.

*/

/*

*從N個數中隨機取出100個不同的數

*@author:banxi1988

*/

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main(void){

int numbers[4096];

int nums[100];

int num;

int count=0;

int i = 0;

int j = 0;

int flag = 0;

int index= 0;

srand((unsigned)time(NULL));

/**隨機生成0到8192的數放到數組numbers當中*/

for(i = 0; i < 4096; i++){

numbers[i] = rand()%8192;

}//for:

/**從numbers數組當中的數中隨機取100個不同的數*/

for(i = 0; i< 100;i++){

flag = 1;

do{

index = rand()%4096;

num = numbers[index];

for(j = 0; j < count; j++){

if(num==nums[j]){

flag = 0;

break;

}//:if

}//:for

}while(flag==0);

nums[count++]=num;

}///for:

printf("從0到8192中產生的100個隨機的不相同的數如下:\n");

for(i = 0; i< 100;i++){

if(i%10==0)putchar('\n');

printf("%5d",nums[i]);

}

putchar('\n');

return 0;

/*運行結果如下:

從0到8192中產生的100個隨機的不相同的數如下:

4206 7853 1327 4541 398 754 5374 5259 258 4411

2069 4161 5186 5419 1746 1531 1957 7334 157 1693

5140 6087 1879 6489 2659 1210 102 2302 1522 7118

603 1711 1322 4489 6386 2732 3418 2203 4000 1309

4269 4382 2389 7617 5899 5054 818 4337 1247 5513

7369 2756 2956 7529 6623 6744 5229 4684 7251 2584

5868 3451 1570 4214 1106 1487 4682 5848 4730 3291

6084 7570 602 2128 2447 1741 714 7384 5965 2182

439 5286 2605 6820 6221 6646 1348 3899 3016 4971

2381 2410 1126 1984 1633 2395 5670 1890 5346 2713

**/

}//:main

  • 上一篇:C++編程 求某個文本文檔中IS的個數
  • 下一篇:怎麽撰寫科技論文
  • copyright 2024編程學習大全網