//函数insert将一个指定的单精度数按递减规律插入数组num中
//注 数组num中已有12个按照递减顺序排好序的单精度数
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void insert(float num[13], float newnum);
int main()
{
float nums[12];
srand((unsigned)time(NULL));
int i, j;
for (i = 0; i < 12; i++)
nums[i] = rand() % 50;
float temp;
for(i=1;i<12;i++)
for(j=0;j<11;j++)
if (nums[j] < nums[j + 1])
{
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
for (i = 0; i < 12; i++)
printf("%.2f\t", nums[i]);
float n;
printf("\n输入一个待插入的数:\n");
scanf_s("%f", &n);
insert(nums, n);
system("pause");
return 0;
}
void insert(float num[13], float newnum)
{
num[12] = newnum;
int i, j;
float temp;
for (i = 1; i < 13; i++)
for (j = 0; j < 12; j++)
if (num[j] < num[j + 1])
{
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
for (i = 0; i < 13; i++)
printf("%.2f\t", num[i]);
}
运行结果