用rand()和srand()产生10个1~100范围内的随机数

Python019

用rand()和srand()产生10个1~100范围内的随机数,第1张

#include <time.h>

#include <stdlib.h>

#include <stdio.h>

int main()

{

    int i

    srand(time(NULL))

    for(i=1i<=10i++)

    {

        int num=rand()%100

        printf("%d ",num)

    }

    return 0

}

用rand()函数

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std

int r(int fanwei)

{

srand((unsigned)time(NULL))//用于保证是随机数

return rand()%fanwei//用rand产生随机数并设定范围

}

int main()

{

cout<<r(100)<<endl//生成100以内的随机数,并显示

return 0

}

这个问题很简单,应该尝试自己写写。

#i#include <stdio.h>

#include <stdlib.h>

#include <time.h>

/*

* 问题描述

* 用rand生成10个随机数置与数组,对该数组从大到小排序

* 输入一个任意数,插入数组

*/

#define SIZE 15 //数组大小

#define INITSIZE 10 //随机生成数字的个数

static int compar_reverse(const void *val1, const void *val2)

int

main(void)

{

int array[SIZE] = {0}

int *q

inti

int input

//随机生成INITSIZE个数

srand(time(NULL))

for(i = 0i <INITSIZE++i)

array[i] = rand()%1000

//对array快速排序(由大到小)

qsort(array, INITSIZE, sizeof(int), compar_reverse)

scanf("%d",&input)

//找位置

for(i = 0array[i] >input &&i <INITSIZE++i)

//移动

for(q = array + INITSIZE -1q >= array + i--q)

*(q+1) = *q

//插入

*(q + 1) = input

//输出结果

for(i = 0i <INITSIZE + 1++i)

printf("%d%c", array[i], i == INITSIZE -1 ? '\n' : ' ')

exit(0)

}

static int compar_reverse(const void *val1, const void *val2)

{

return *(int*)val2 - *(int*)val1

}nclude <stdio.h>

#include <stdlib.h>

#include <time.h>

/*

* 问题描述

* 用rand生成10个随机数置与数组,对该数组从大到小排序

* 输入一个任意数,插入数组

*/

#define SIZE 15 //数组大小

#define INITSIZE 10 //随机生成数字的个数

static int compar_reverse(const void *val1, const void *val2)

int

main(void)

{

int array[SIZE] = {0}

int *q

inti

int input

//随机生成INITSIZE个数

srand(time(NULL))

for(i = 0i <INITSIZE++i)

array[i] = rand()%1000

//对array快速排序(由大到小)

qsort(array, INITSIZE, sizeof(int), compar_reverse)

scanf("%d",&input)

//找位置

for(i = 0array[i] >input &&i <INITSIZE++i)

//移动

for(q = array + INITSIZE -1q >= array + i--q)

*(q+1) = *q

//插入

*(q + 1) = input

//输出结果

for(i = 0i <INITSIZE + 1++i)

printf("%d%c", array[i], i == INITSIZE -1 ? '\n' : ' ')

exit(0)

}

static int compar_reverse(const void *val1, const void *val2)

{

return *(int*)val2 - *(int*)val1

}

清晰的源码参见:

http://blog.csdn.net/qtldr/archive/2011/04/18/6330795.aspx