1. 需求: 输出[x,y]之间的随机数

  2. 算法: rand()%(y-x+1)+x


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>

//交换函数
void swap(int *a, int *b){
    int temp= 0;
    temp = *a;
    *a = *b;
    *b = temp;
}


//求两个随机数[20,40]数组的对应数组之和,存到第三个数组中。并且做冒泡排序。
int main(void){
    int a[10] = {0}, 
        b[10] = {0},
        c[10] = {0};
    int i = 0, j = 0;
    struct timeval timeNow;
    gettimeofday(&timeNow, NULL);
    srand(timeNow.tv_usec); //把当前时间, 微秒级别作为种子。

    for (i = 0; i < 10; i++){
        a[i] = rand()%21+20;
        b[i] = rand()%21+20;
        c[i] = a[i] + b[i];
        printf("%d + %d = %d\n",a[i],b[i],c[i]);
    }
    
    printf("开始冒泡排序:\n");

    for(i = 0; i< 10 -1; i++){
        for(j = 0; j< 10 -1 -i; j++){
            if(c[j] < c[j+1])
                swap(&c[j], &c[j+1]);
        }
    }

    for(i = 0; i< 10; i++){
        printf("c[%d] = %d\n",i,c[i]);
    }
    return 0;
}