[問題] 程式執行問題

看板Programming作者 (中山廢文最後希望)時間4年前 (2019/08/29 02:05), 4年前編輯推噓4(4015)
留言19則, 5人參與, 4年前最新討論串2/2 (看更多)
各位好~ 小弟我剛接觸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://www.ptt.cc/bbs/Programming/M.1567015506.A.50E.html ※ 編輯: td2100106 (110.50.186.119 臺灣), 08/29/2019 02:08:03

08/29 03:01, 4年前 , 1F
不需要system pause
08/29 03:01, 1F

08/29 03:31, 4年前 , 2F
printf("請輸入字串") <- ??????
08/29 03:31, 2F

08/29 09:34, 4年前 , 3F
不過我剛剛把system(pause)跟printf
08/29 09:34, 3F

08/29 09:34, 4年前 , 4F
那段刪掉還是跑出一樣的結果
08/29 09:34, 4F
※ 編輯: td2100106 (110.50.186.119 臺灣), 08/29/2019 09:34:50

08/29 10:01, 4年前 , 5F
char的範圍比1000還小 所以你的i跟sum都可
08/29 10:01, 5F

08/29 10:01, 4年前 , 6F
能overflow
08/29 10:01, 6F

08/29 12:37, 4年前 , 7F
同樓上,原po的程式碼,字串長度需小於1000
08/29 12:37, 7F

08/29 12:37, 4年前 , 8F
,但題目有說字串長度小於1000嗎?
08/29 12:37, 8F

08/29 12:46, 4年前 , 9F
有哦
08/29 12:46, 9F

08/29 13:23, 4年前 , 10F
那方便公佈題目網址嗎?
08/29 13:23, 10F

08/29 13:42, 4年前 , 11F
如果是a022這題的話,我拿到AC了。要注意sc
08/29 13:42, 11F

08/29 13:42, 4年前 , 12F
anf需要多次執行,可能要用while hold住
08/29 13:42, 12F

08/29 13:58, 4年前 , 13F
我把你的code上傳,是WA不是tle,是我搞錯系
08/29 13:58, 13F

08/29 13:58, 4年前 , 14F
統?還是?
08/29 13:58, 14F

08/29 16:26, 4年前 , 15F
i 的 type 用 char ?
08/29 16:26, 15F

08/29 16:27, 4年前 , 16F
原來上面的推文有講了
08/29 16:27, 16F

08/29 18:10, 4年前 , 17F
我是猜測原po是在問a022 不過題目敘述的輸
08/29 18:10, 17F

08/29 18:10, 4年前 , 18F
入是寫"一個字串" 實際情況我也不清楚 我
08/29 18:10, 18F

08/29 18:10, 4年前 , 19F
沒有自己測試過
08/29 18:10, 19F
文章代碼(AID): #1TPi9IKE (Programming)
文章代碼(AID): #1TPi9IKE (Programming)