主函数内先调用rannum函数产生20个随机数存放到数组a,然后调用函数sort将a中的元素排序,并分别输出排序前后数组a的元素值.小萌新求大佬们帮帮忙!
题目是这样的:在main函数之后编写一个能产生三位数的随机数的函数 int rannum(),再编写一个能用冒泡排序法将数组元素从小到大排序的函数void sort(int x[], int n), 在主函数内先调用rannum函数产生20个随机数存放到数组a中,然后调用函数sort将a中的元素排序,并分别输出排序前后数组a的元素值。
#include <stdio.h>
#include <stdlib.h>
void main()
{
int rannum(),t;
void sort(int x[], int n);
int a[20];
for (t = 0; t < 20; t++)
a[t] = rannum();
sort(a, 20);
for (t=0;t <20;t++)
printf("%d\n",a[t]);
return;
}
int rannum()
{
int b;
b = rand() % 899 + 100;
printf("%5d",b);
return 0;
}
void sort(int x[], int n)
{
int m, i, j;
for (i = 0; i < n - 1; i++)
for (j = 0; j < n - 1 - i; j++)
if (x[j] > x[j + 1])
{
m = x[j];
x[j] = x[j + 1];
x[j + 1] = m;
}
}
现在一运行就成这样了: 141 587 141 529 390 541 790 690 991 291 411 376 906 745 172 591 398 355 432 1420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
[此贴子已经被作者于2021-11-27 16:43编辑过]