有n(n<=20)个浮点数,已经按照从小到大的顺序排好,要求输入一个数,把它插入到数列中, 使数列仍然有序,并输出新的数列(输出保留两位小数)。若输入的数列不是有序的,则输出error。 input: 输入n以及n个有序的浮点数. 以及即将插队的数 output: 输入插队后的数组.
example: input: 10 1 2 3 4 5 6 7 8 9 10 6.5 output: 1.00 2.00 3.00 4.00 5.00 6.00 6.50 7.00 8.00 9.00 10.00
输入格式:
10 1 2 3 4 5 6 7 8 9 10 6.5
输出格式:
1.00 2.00 3.00 4.00 5.00 6.00 6.50 7.00 8.00 9.00 10.00
输入样例:
10
1 2 3 4 5 6 7 8 9 10
6.5
输出样例:
1.00 2.00 3.00 4.00 5.00 6.00 6.50 7.00 8.00 9.00 10.00
结尾无空行
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
double a[n+1],num,temp;
int i,j;
for(i=0;i<n;i++)
{
scanf("%lf",&a[i]);
}
scanf("%lf",&num);
for(i=0;i<n-1;i++)
{
if(a[i]>a[i+1])
{
printf("error");
return 0;
}
}
a[n]=num;
for(i=n;i>0;i--)
{
if(a[i]<a[i-1])
{
temp=a[i-1];
a[i-1]=a[i];
a[i]=temp;
}
}
for(i=0;i<n+1;i++)
{
printf("%.2f",a[i]);
if(i<n)
{
printf(" ");
}
}
return 0;
}