杭电1062 不知道哪错了

#include <stdio.h>
#include <string.h>
int main()
{
    int n;
    char a[1001];
    while(scanf("%d",&n) != EOF && n != 0)
    {
        n--;
        getchar();
        gets(a);
        int x = 0;
        int h = strlen(a);
        for (int i = 0; i < h;i++)
        {
            if(a[i] == ' '){
                for(int j = i-1;j >= x;j--){
                    printf("%c",a[j]);
                }
                printf(" ");
                x = i + 1;
            }
        }
        for(int m = h - 1; m >= x; m--){
            printf("%c",a[m]);
        }
        printf("\n");
    }
    return 0;
}
 

参考一下这篇文章。建议将算法题目发出来。

只发代码的话,很难猜测你的算法写了什么。

你是要把输入的一堆单词全部字母倒过来输出吗?

调试了一下,只要去掉getchar()就可以了

 

 

#include <stdio.h>
#include <string.h>
int main()
{
    int n;
    char a[1001];
    int k = 1;
    while(scanf("%d",&n) != EOF && n != 0)
    {
        if (k ==1)
        {
            getchar();
            k++;
        }
        gets(a);
        int x = 0;
        int h = strlen(a);
        for (int i = 0; i < h;i++)
        {
            if(a[i] == ' '){
                for(int j = i-1;j >= x;j--){
                    printf("%c",a[j]);
                }
                printf(" ");
                x = i + 1;
            }
        }
        for(int m = h - 1; m >= x; m--){
            printf("%c",a[m]);
        }
        printf("\n");
        n--;
    }
    return 0;
}

这是改之后的,现在是一直报Presentation Error

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632