Bailian2799 浮点数格式【文本处理+最值】

2799:浮点数格式
总时间限制: 1000ms 内存限制: 65536kB
描述
输入n个浮点数,要求把这n个浮点数重新排列后再输出
输入
第1行是一个正整数n(n<=10000),后面n行每行一个浮点数,保证小数点会出现, 浮点数的长度不超过50位,注意这里的浮点数会超过系统标准浮点数的表示范围。
输出
n行,每行对应一个输入。要求每个浮点数的小数点在同一列上,同时要求首列上不会全部是空格。
样例输入
2
-0.34345
4545.232
样例输出
   -0.34345
4545.232

问题链接Bailian2799 浮点数格式
问题描述:(略)
问题分析
    这是一个文本处理问题,求个最值就可以了。用排序来做那是浮云!
程序说明:(略)
参考链接:(略)
题记:(略)。

AC的C语言程序如下:

/* Bailian2799 浮点数格式 */

#include <stdio.h>

#define MAX(a, b) (((a) > (b)) ? (a) : (b))

#define N 100000
#define L 50
char s[N][L + 1];
int pos[N];

int main(void)
{
    int n, maxpos = 0, i, j;
    scanf("%d", &n);
    for(i = 0; i < n; i++) {
        scanf("%s", s[i]);
        for(j = 0; s[i][j] != '.'; j++);
        pos[i] = j - 1;
        maxpos = MAX(maxpos, pos[i]);
    }

    for(i = 0; i < n; i++) {
        for(j = 0; j < maxpos - pos[i]; j++)
            printf(" ");
        printf("%s\n", s[i]);
    }

    return 0;
}

AC的C++语言程序如下:

/* Bailian2799 浮点数格式 */

#include <iostream>

using namespace std;

const int N = 100000;
string s[N];
int pos[N];

int main()
{
    int n, maxpos = 0;
    cin >> n;
    for(int i = 0; i < n; i++) {
        cin >> s[i];
        pos[i] = s[i].find('.');
        maxpos = max(maxpos, pos[i]);
    }

    for(int i = 0; i < n; i++) {
        s[i].insert(0, maxpos - pos[i], ' ');
        cout << s[i] << endl;
    }

    return 0;
}
openjudge约瑟夫问题是一个数学应用问题。问题的描述是:有n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。最后剩下的那个人就是猴王的编号。 这个问题在openjudge中的输入格式是每行是用空格分开的两个整数,第一个是n, 第二个是m (0 < m,n <= 300)。最后一行是0 0作为输入的结束标志。 要解决openjudge约瑟夫问题,我们需要编写一个程序来接收输入的n和m值,并按照约瑟夫问题的规则计算出最后剩下的猴王的编号。具体的解题算法可以使用循环队列或者递归的方式来实现,具体实现的代码可以根据具体的编程语言来完成。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [openjudge 约瑟夫环问题](https://blog.csdn.net/sdz20172133/article/details/88351098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [bailian.openjudge 2746:约瑟夫问题](https://blog.csdn.net/smartzxf/article/details/100829938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值