HDU 1062O utput Limit Exceeded错语求解

HZXPH 2010-12-13 02:05:23
HDU 1062:http://acm.hdu.edu.cn/showproblem.php?pid=1062
我原代码,utput Limit Exceeded了,明明就没有死循环的,
代码:
#include<stdio.h>
#include<string.h>
int main()
{
int t,flag;
char a[1000],b;
scanf("%d",&t);
b=getchar();
while(t--)
{
flag=0;
b='0';
while(b!='\n')
{
if(flag)
printf("%c",b);
flag=1;
scanf("%s",a);
strrev(a);
printf("%s",a);
b=getchar();
}
printf("\n");
}
return 0;
}
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
naturemickey 2010-12-13
  • 打赏
  • 举报
回复
我的意思是说,最后一个单词后面可能有一个空格,或其它的空白,之后再'\n'。
HZXPH 2010-12-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 naturemickey 的回复:]
题目中并没有说每个行最后一个单词后面一定是'\n',
[/Quote]
那输入完字符串,总得按回车啊,不然程序怎么开始执行?
naturemickey 2010-12-13
  • 打赏
  • 举报
回复
题目中并没有说每个行最后一个单词后面一定是'\n',
如果有一个空格,那么代码的逻辑就有问题了。
另外,最后一行也并没说是空行。

我不确定我上面说的是关键问题所在——我只看到这些。
HZXPH 2010-12-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 naturemickey 的回复:]
我把你的改装了一下acc了。
你参考一下吧。
[code=C]
[/Quote]
非常感谢!!结贴给分。
naturemickey 2010-12-13
  • 打赏
  • 举报
回复
不好意思。
格式不太好看,重贴一下。
#include<stdio.h>
#include<string.h>
int main()
{
int t,len, sn, idx, i;
char a[1001];
scanf("%d",&t);
getchar();
while(t--)
{
gets(a);
len = strlen(a);
sn = 0;
idx = 0;
while(idx <= len){
if(a[idx] == ' ' || idx == len){
for(i = idx - 1; i >= sn; --i)
printf("%c", a[i]);
sn = idx + 1;
if(idx != len)
printf(" ");
}
idx += 1;
}
printf("\n");
}
return 0;
}
naturemickey 2010-12-13
  • 打赏
  • 举报
回复
我把你的改装了一下acc了。
你参考一下吧。
[code=C]
#include<stdio.h>
#include<string.h>
int main()
{
int t,len, sn, idx, i;
char a[1001];
scanf("%d",&t);
getchar();
while(t--)
{
gets(a);
len = strlen(a);
sn = 0;
idx = 0;
while(idx <= len){
if(a[idx] == ' ' || idx == len){
for(i = idx - 1; i >= sn; --i)
printf("%c", a[i]);
sn = idx + 1;
if(idx != len)
printf(" ");
}
idx += 1;
}
printf("\n");
}
return 0;
}[/code]

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧