C语言编程 在0-10000中随机生成1000个数并输出其中的最小值。
#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("
");
}
}
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;
}