PTA上有道题死活过不了第二个测试点求解惑
题目是PAT (Basic Level) Practice 里的说反话#include <iostream>
#include <string>
using namespace std;
int main()
{ char a;
int sum=0;
int i=0,j=0,k=0;
int start=0;
while((scanf("%c", &a)) == 1 && a != '\n')
{
i++;
}
int count=0,check=0;
sum=i;
for(i=0;i<=sum;i++)
{
if(a != ' ')
{
check = 0;
}
else
{
check= 1;
break;
}//检查是否全句仅有一个单词
}
for(i=0;;i++)
{
if(a!=' ')
{
start=i;//确定第一个不为空格的字符位置
break;
}
}
if(check==0)
{
cout<<a;
}
else if (check==1)
{ if(start==0)
{
for(i=sum-1;i>=0;i--)
{
if(a!=' ')
{
count++;
}
else
{
if(count!=0)
{
if(k==0)
{
for(j=i+1;j<=i+count;j++)
{
cout<<a;
}
count=0;
k=1;
}
else
{
for(j=i;j<=i+count;j++)
{
cout<<a;
}
count=0;
}
}
else{
continue;
}
}
}cout<<' ';
for(i=0;i<count;i++)
{
cout<<a;
}
}
else
{
for(i=sum-1;i>=start-1;i--)
{
if(a!=' ')
{
count++;
}
else
{
if(count!=0)
{
if(k==0)
{
for(j=i+1;j<=i+count;j++)
{
cout<<a;
}
count=0;
k=1;
}
else
{
for(j=i;j<=i+count;j++)
{
cout<<a;
}
count=0;
}
}
else
{
continue;
}
}
}
}
}
cout<<endl;
return 0;
} 本帖最后由 jackz007 于 2021-11-3 11:53 编辑
代码没有语法问题,题目要求是什么,有没有输入输出样例? jackz007 发表于 2021-11-3 11:39
代码没有语法问题,题目要求是什么,有没有输入输出样例?
输入样例:Hello World Here I Come
输出样例:Come I Here World Hello jackz007 发表于 2021-11-3 11:39
代码没有语法问题,题目要求是什么,有没有输入输出样例?
我试了下在PTA的在线编译器里怎么怎么试都找不到问题,抓头发抓了快一天了 #include <stdio.h>
/* 反转一个单词 */
void foo1(char s[])
{
char c ;
int i , m ;
for(m = 0 ; s && s != '\t' && s != ' ' && s != '\n' ; m ++) ;
for(i = 0 ; i < m / 2 ; i ++) {
c = s ;
s = s ;
s = c ;
}
}
/* 反转整个字符串 */
char * foo2(char s[])
{
char c ;
int i , m ;
for(m = 0 ; s ; m ++) ;
for(i = 0 ; i < m / 2 ; i ++) {
c = s ;
s = s ;
s = c ;
}
return s ;
}
int main(void)
{
char s ;
int i ;
gets(s) ;
for(i = 0 ; s && (s == '\t' || s == ' ' || s == '\n') ; i ++) ;
for(; s ;) {
foo1(& s) ;
for(; s && s != '\t' && s != ' ' && s != '\n' ; i ++) ;
for(; s && (s == '\t' || s == ' ' || s == '\n') ; i ++);
}
printf("%s\n" , foo2(s)) ;
}
编译、运行实况:
D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
Hello World Here I Come
Come I Here World Hello
D:\0002.Exercise\C> jackz007 发表于 2021-11-3 12:52
编译、运行实况:
谢谢大佬,用大佬的这个代码过了,现在懂了,原来好像不用把单词中间多余的空格去掉,真的非常感谢 yamila 发表于 2021-11-3 13:00
谢谢大佬,用大佬的这个代码过了,现在懂了,原来好像不用把单词中间多余的空格去掉,真的非常感谢
如果问题已经解决,不要忘记设置 "最佳答案"。
页:
[1]