C语言编程 在0-10000中随机生成1000个数并输出其中的最小值。

作者&投稿:师狮 (若有异议请与网页底部的电邮联系)
c语言 随机产生1000个0~10000的整数,并统计每个数出现的次数~

#include
#include
#include
int main()
{
//生成随机数
int len = 1000, min = 0,max = 10000;
int arr[len];
srand(time(0));
for(int i = 0;i < len;i++){
arr[i] = rand() % max + min;
printf("%d", arr[i]);
}
printf("
");
//排序
for(int j = 0;j < len - 1; j++){
for(int k = j+1; k < len; k ++){
if(arr[j] < arr[k]){
int temp = arr[j];
arr[j] = arr[k];
arr[k] = temp;
}
}
}
//统计次数
int count = 1;
for(int m = 0;m < len; m++){
if(arr[m] == arr[m+1]){
count++;
}else{
printf("%d出现了%d次
", arr[m], count);
count = 1;
}
}
return 0;
}

使用了一个偷懒的算法。另外排序使用了STL函数。

#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include

using namespace std;

#define NUM10000

void main(void)
{
int rand_number[NUM];
int max = 100000;
int min = 1000;

srand(time(NULL));

for (int i = 0; i < NUM; i ++)
{
// rand number from 0 - 999999
int r = rand() % 1000 * 1000 + rand() % 1000;

// rand number from 0 - 99000
r = r % 99001 + 1000;

rand_number[i] = r;
}

sort(rand_number, rand_number+NUM);

for (i = 0; i < 100; i ++)
{
printf("%d,", rand_number[NUM-1-i]);
if ((i+1)%10 == 0)
printf("
");
}
}

先生成1000个随机数成数组,然后定义一个变量,把数组的每个值拿出来比,比这个小的就重新存到这个定义的变量里面。

srand(time(0));
int min = 0,num=0,i=1000;
while(--i)
{
num = (rand%10000);
if (min > num)
{
min=num;
}
}


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a[1000],i;
srand(time(0));
for(i=0;i<1000;i++)
a[i]=rand()%1000;

int t,j;
t=a[0];
for(i=0;i<1000;i++)
{
if(t>a[i])
{
t=a[i];
j=i;
}
}
printf("a[%d]=%d",j,t);
}

定义一个数组
然后用for赋值随机数
然后定义另外一个变量
然后用for比较这个变量,如果数组里面的某个变量小,就代替
就行了

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
int num[1000];
int min=10000;
int i;
for(i=0;i<1000;j++)
{
num[i] = rand() % 10000;
if(num[i]<min) min=num[i];
}
printf("The min number is %d\n",min);
return 0;
}