PTA C语言 7-17 说反话加强版
#include
#include
int main()
{
char str[500001]; char p[1000][500];
int i,m,j,n,t,len;
m=0;n=0;t=0;
gets(str);
len=strlen(str);
for(i=0;i
{
while(str[i]!=' '&&str[i]!='\0')
{i++;}
for(j=n;j
{ p[m][t]=str[j];
t++;
}
p[m][t]=0;
m++;t=0;
while(str[i]==' ')
{i++;}
n=i;
}
for(i=1;p[m][i]!=0;i++)
printf("%c",p[m][i]);
for(int k=m-1;k>0;k--)
{ printf("%s ",p[k]);
}
printf("%s",p[0]);
return 0;
}
样例都是没有问题的,但是结果提交的时候总是会出现格式错误
以为是最后的换行问题,但是修改之后没有效果
希望可以帮我看看错在哪里吗
修改处见注释,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
char str[500001]; char p[1000][500];
int i, m, j, n, t, len;
m = 0; n = 0; t = 0;
gets_s(str);
len = strlen(str);
for (i = 0; i < len; ) //i++) 修改
{
while (str[i] != ' ' && str[i] != '\0')
{
i++;
}
if (i > 0) { // 修改
for (j = n; j < i; j++)
{
p[m][t] = str[j];
t++;
}
p[m][t] = 0;
m++; t = 0;
}
while (str[i] == ' ')
{
i++;
}
n = i;
}
//for (i = 1; p[m][i] != 0; i++) 修改
// printf("%c", p[m][i]);
for (int k = m - 1; k > 0; k--)
{
printf("%s ", p[k]);
}
printf("%s", p[0]);
return 0;
}