UVa 11965 - Extra Spaces

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mobius_strip/article/details/81514572

题目

将字符串中连续的空格合并成一个。

分析

模拟。用两个指针模拟即可。

说明

第999题了。。。

#include <stdio.h>
#include <stdlib.h>

char buf[505];

int main()
{
    int T, N;
    while (~scanf("%d", &T))
    for (int t = 1; t <= T; ++ t) {
        if (t > 1) {
            puts("");
        }
        printf("Case %d:\n", t);
        scanf("%d", &N);
        getchar();
        for (int i = 0; i < N; ++ i) {
            gets(buf);
            int save = 0;
            for (int j = 0; buf[j]; ++ j) {
                if (!j || buf[j-1] != ' ' || buf[j] != ' ') {
                    if (save < j) {
                        buf[save] = buf[j];
                    }
                    save ++;
                }
            }
            buf[save] = 0;
            puts(buf);
        }
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/mobius_strip/article/details/81514572