0
点赞
收藏
分享

微信扫一扫

HDOJ  1062   Text Reverse

_阿瑶 2022-08-23 阅读 50


题目:​​http://acm.hdu.edu.cn/showproblem.php?pid=1062​​

这一道题自己提交了很多遍,开始是超时,然后还用strtok函数与strrev函数进行输出但是编译通不过,只好又用一个字符,一个字符的输入和输出,结果AC了,
最后自己还是不甘心,又用了strrev函数和strtok函数把编译器换为C++通过了,蛋疼啊,浪费了我半个小时时间啊,让我白白提交了5次啊!!

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
int n;
cin>>n;
getchar();
char seps[]=" ";
while(n--)
{
char str[1002];
char str_copy[1002];
gets(str);
strcpy(str_copy,str);
char *token;
char *temp;
token=strtok(str,seps);
int i=0;
while(token != NULL)
{
while(str_copy[i]==' ')
{
cout<<" ";
i++;
}
temp=strrev(token);
cout<<temp;
if(token!=NULL)
i=i+strlen(token);
while(str_copy[i]==' ')
{
cout<<" ";
i++;
}
token=strtok(NULL,seps);
}
cout<<endl;
}
return 0;
}
记得换为C++编译器,,,,,,,,,
***************************************************
#include <iostream>
using namespace std;
int main()
{
int n,i,j,k;
char s[1000];
cin >> n;
cin.ignore();
for (i=0; i<n; i++)
{
j=0;
k=1;
s[j]=cin.get();
while (s[j]!='\n')
{
if (s[j]!=' ')
{
j++;
s[j]=cin.get();
}
else
{
if(k!=1)
cout << " ";
k++;
for (int l=j-1; l>=0; l--)
cout<<s[l];
j=0;
s[j]=cin.get();
}
}
cout <<" ";
for (int l=j-1; l>=0; l--)
cout<<s[l];
cout<<endl;
}
return 0;
}

举报

相关推荐

0 条评论