描述:
输入n个浮点数,要求把这n个浮点数重新排列后再输出
输入:
第1行是一个正整数n(n<=10000),后面n行每行一个浮点数,保证小数点会出现, 浮点数的长度不超过50位,注意这里的浮点数会超过系统标准浮点数的表示范围。
输出:
n行,每行对应一个输入。要求每个浮点数的小数点在同一列上,同时要求首列上不会全部是空格。
样例输入:
2
-0.34345
4545.232
样例输出:
-0.34345
4545.232
/********************************************
**文件名:百炼-2799
**Copyright (c) 2015-2025 OrdinaryCrazy
**创建人:OrdinaryCrazy
**日期:20170817
**描述:百炼2799参考答案
**版本:1.0
*********************************************/
#include <stdio.h>
#include <string.h>
int main()
{
int n,i,j,point = 0;
char num[10000][52];
scanf("%d",&n);
for(i = 0;i < n;i++)
scanf("%s",num[i]);
for(i = 0;i < n;i++)
{
j = 0;
while(num[i][j] != '.') j++;
j > point ? point = j : 0;
num[i][51] = j;
}
for(i = 0;i < n;i++)
{
int dis = point - num[i][51];
for(j = strlen(num[i]) + dis;j >= dis;j--)
num[i][j] = num[i][j-dis];
while(j >= 0) num[i][j--] = ' ';
}
for(i = 0;i < n;i++)
printf("%s\n",num[i]);
return 0;
}