作者td2100106 (中山废文最後希望)
看板Programming
标题[问题] 程式执行问题
时间Thu Aug 29 02:04:58 2019
各位好~
小弟我刚接触C没有多久
为了加强程度有上高中生程式解题系同刷一些题目
像这题是有关回文的题目
题目如下:
回文的定义为正向,反向读到的字串均相同
如:abba , abcba ... 等就是回文
请判断一个字串是否是一个回文?
我的疑问是我原本的程式码在DEV C++执行是没有问题的
不过拿去网站提交答案是
会一直跑出tle(1s)这个东西
上网稍微查过
似乎是程式执行的太慢?!
不过我检查过我的程式蛮多次
也不知道哪里出问题
还请各位指点我一下
让我知道我程式哪里有问题
谢谢!
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char ch[1000],i=0,sum=0,flag=1;
scanf("%s",&ch);
while(ch[i]!=0)
{
i++;
sum=sum+1;
}
for(i=0;i<=sum/2;i++)
{
if(ch[i]!=ch[(sum-1)-i])
{
flag=0;
}
}
if(flag==0)
{
printf("no\n");
}
else
{
printf("yes\n");
}
return 0;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.50.186.119 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Programming/M.1567015506.A.50E.html
※ 编辑: td2100106 (110.50.186.119 台湾), 08/29/2019 02:08:03
1F:推 idiont: 不需要system pause125.231.37.217 08/29 03:01
2F:推 cutekid: printf("请输入字串") <- ??????1.168.25.219 08/29 03:31
3F:→ td2100106: 不过我刚刚把system(pause)跟printf110.50.186.119 08/29 09:34
4F:→ td2100106: 那段删掉还是跑出一样的结果110.50.186.119 08/29 09:34
※ 编辑: td2100106 (110.50.186.119 台湾), 08/29/2019 09:34:50
5F:→ idiont: char的范围比1000还小 所以你的i跟sum都可 125.231.37.217 08/29 10:01
6F:→ idiont: 能overflow 125.231.37.217 08/29 10:01
7F:→ pmove: 同楼上,原po的程式码,字串长度需小於1000223.136.232.190 08/29 12:37
8F:→ pmove: ,但题目有说字串长度小於1000吗?223.136.232.190 08/29 12:37
9F:→ idiont: 有哦 125.231.37.217 08/29 12:46
10F:→ pmove: 那方便公布题目网址吗?223.136.232.190 08/29 13:23
11F:推 pmove: 如果是a022这题的话,我拿到AC了。要注意sc223.136.232.190 08/29 13:42
12F:→ pmove: anf需要多次执行,可能要用while hold住223.136.232.190 08/29 13:42
13F:→ pmove: 我把你的code上传,是WA不是tle,是我搞错系223.136.232.190 08/29 13:58
14F:→ pmove: 统?还是?223.136.232.190 08/29 13:58
15F:→ kiedveian: i 的 type 用 char ? 36.227.35.10 08/29 16:26
16F:→ kiedveian: 原来上面的推文有讲了 36.227.35.10 08/29 16:27
17F:推 idiont: 我是猜测原po是在问a022 不过题目叙述的输 223.141.42.186 08/29 18:10
18F:→ idiont: 入是写"一个字串" 实际情况我也不清楚 我 223.141.42.186 08/29 18:10
19F:→ idiont: 没有自己测试过 223.141.42.186 08/29 18:10
20F:推 MatTZerS: Scanf 用%s 後面的变数不用&吧 223.139.127.8 10/09 00:56