这是原题 本来换个思路就很简单了 但我就是纠结于自己的代码所以越改越长 但是瑕疵感觉都没有了 可是为什么还是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自己看着都晕赶脚方法好蠢