利用随机函数产生20个[120, 834] 之间互不相等的随机数,
并利用选择排序法将其从小到大排序后输出(每行输出5个)
代码如下:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int shenchen(int a[], int n) //该函数用来生成n个 [ 120, 834 ] 之间互不相等的数
{int i;srand((unsigned int)time(NULL));for (i = 0; i < n; i++){a[i] = rand() % (834 - 120 + 1) + 120;int j = 0;for (j = 0; j < i; j++){if (a[j] == a[i])//只要判断后一个的值与前一个值是否相等{i--;//若重复则重新生成break;}}}return 0;
}
int paixue(int a[], int n) //该函数用来对a数组中的n个数利用选择排序法排序
//从小到大排序
{int i = 0,min=0,tmp=0;for (i = 0; i < n; i++){min = i;//令第一个为最小值int j = i+1;for (j =i+1; j < n; j++){if (a[min] > a[j]){min = j;}}tmp = a[i];a[i] = a[min];a[min] = tmp;}return 0;
}
int print(int a[], int n) //该函数用来输出a数组中的n个数,每行输出5个
{int i = 0;for (i = 0; i < n; i++){printf("%d ", a[i]);if ((i + 1) % 5 == 0){printf("\n");}}printf("\n");return 0;
}
int main()
{int shenchen(int a[], int n); //该函数用来生成n个 [ 120, 834 ] 之间互不相等的数int paixue(int a[], int n); //该函数用来对a数组中的n个数利用选择排序法排序int print(int a[], int n); //该函数用来输出a数组中的n个数,每行输出5个int x[20] = { 0 };shenchen(x, 20);print(x, 20);paixue(x, 20);print(x, 20);return 0;
}
编译举例子结果如下 :