插队问题 有一个8个人的队伍,他们的身高分别为1米53 1m65 175 181 187 188 189在已经按照身高由低到高排好了,又来了一名新队员,他的身高为x,其中x属于区间[1,2] 上的一个实数,然后使用排序算法将这个新队员插入队伍中且不改变由低到高的顺序,将所有队员以升序输出,且保留俩位小数
#include<stdio.h>
void main()
{
float x; //新队员身高
float a[10]={1.73,1.75,1.78,1.84,1.88,1.89,1.90 ]; //a数组为队列所有人员
int i,n=7 //i为a数组的下标从0取值,n为队列实际人的个数;
帮忙写一下下面的 谢谢了
#include <stdio.h>
#include <stdio.h>
void main()
{
float x; //新队员身高
float a[10] = {1.73, 1.75, 1.78, 1.84, 1.88, 1.89, 1.90}; //a数组为队列所有人员
int i, j, n = 7;
scanf("%f",&x);
for(i = 0;i < 7;i++){
if(x < a[i]){
for(j = 7;j > i;j--){
a[j] = a[j-1];
}
a[i] = x;
break;
}
if(i == 6){
a[7] = x;
}
}
for(i = 0;i < 8;i++){
printf("%.2f ",a[i]);
}
}
#include<stdio.h>
int main()
{
float x; //新队员身高
float a[10]={1.73,1.75,1.78,1.84,1.88,1.89,1.90 }; //a数组为队列所有人员
int n=7; //i为a数组的下标从0取值,n为队列实际人的个数;
scanf("%f",&x);
a[n+1]=x;
for(int i=(n-1);i>=0;i--)
{
if(a[i]>x){
a[i+1]=a[i];
a[i]=x;
}
}
for(int i=0;i<n+1;i++)
{
printf("%.2f ",a[i]);
}
return 0;
}