2 qq 19953641 qq_19953641 于 2016.03.12 01:35 提问

新人一枚 帮我看看这个问题怎么ac

图片说明
这是原题 本来换个思路就很简单了 但我就是纠结于自己的代码所以越改越长 但是瑕疵感觉都没有了 可是为什么还是ac不了?
放代码:

 #include<stdio.h>

int main()
{
    int a[1000] = {0}, s = 0, k = 0, i = 0, j, n, w = 0;
    char ch;
    scanf("%d", &n);
    getchar();
    while(n-- > 0){
        for(int z = 0; z < 1000; z++)//初始化
            a[z] = 0;
        while((ch = getchar()) != '\n'){     //输入。。
            a[i++] = ch;
        }
        a[i] = -1;

        for(; w <= i; w++){
                if(a[w] == ' '){
                    w = 0;
                    break;
                }
            }
        if(w){                              //分为行内有空格与行内无空格两种情况,w不为0是无空格的情况
                for(i--; i >= 0; i--)
                    printf("%c", a[i]);
            }
        else for(j = 0, k = 0, s = 0; j <= i; j++){
             if(a[j] == ' ' || a[j] == -1){
                s = j--;
                for(; j >= k; j--)
                     if(s != i || j != k)//这个判断是用来去除句末空格的
                        printf("%c", a[j]);

                if(!k)
                    printf(" ");
                k = j = s;

            }

        }

        if(n)
            printf("\n");
        i = 0;
    }
    return 0;
}

0.0自己看着都晕赶脚方法好蠢

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.12 03:11
已采纳
qq_19953641
qq_19953641 回复苏小喵: 对了,不是整个字符串反转,是每个单词翻转。
接近 2 年之前 回复
qq_19953641
qq_19953641 回复苏小喵: 谢谢,这个答案很棒,不过我还是想知道我的代码为什么会pe,实在不应该啊-_-#
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!