1.链接:http://poj.grids.cn/practice/2799/
2.题目:
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 输入n个浮点数,要求把这n个浮点数重新排列后再输出
- 输入
- 第1行是一个正整数n(n<=10000),后面n行每行一个浮点数,保证小数点会出现, 浮点数的长度不超过50位,注意这里的浮点数会超过系统标准浮点数的表示范围。
- 输出
- n行,每行对应一个输入。要求每个浮点数的小数点在同一列上,同时要求首列上不会全部是空格。
- 样例输入
2 -0.34345 4545.232- 样例输出
-0.34345 4545.232
3.代码:
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <cstdlib> 5 6 using namespace std; 7 8 #define LEN 60 9 #define MAX 10010 10 11 int main() 12 { 13 char strs[MAX][LEN]; 14 int pos[MAX]; 15 16 int n; 17 cin>>n; 18 19 int maxlen = -1; 20 for(int i = 0; i < n; i++) 21 { 22 scanf("%s",strs[i]); 23 int j = 0; 24 while(strs[i][j] != '.') j++; 25 if(maxlen < j) maxlen = j; 26 pos[i] = j; 27 } 28 29 for(int i = 0; i < n; i++) 30 { 31 for(int j = 0; j < maxlen - pos[i]; j++) cout<<' '; 32 cout<<strs[i]<<endl; 33 } 34 return 0; 35 }
4.思路:
(1)水题,咋看是大浮点数排序,看清楚其实只是简单的字符串操作而已