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)水题,咋看是大浮点数排序,看清楚其实只是简单的字符串操作而已

posted on 2013-06-23 10:52  mobileliker  阅读(704)  评论(0)    收藏  举报