Re: [問題] 迴文
※ 引述《DarkPrincex (DP)》之銘言:
: ※ 引述《handsome616 (豆花伯爵)》之銘言:
: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: : code::block
: : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: : 問題(Question):
: : 爲什麼可以直接相加?
: : 程式碼(Code):(請善用置底文網頁, 記得排版)
: : #include <iostream>
: : #include <string>
: : using namespace std;
: : int main() {
: : string s1 ,s2;
: : while(cin >> s1 ) {
: : for(int i = 1 ; i <= s1.length() ; i++) {
: : s2 += s1[s1.length()-i] ;
: : }
: : if(s1==s2)
: : cout << "yes" << endl ;
: : else
: : cout << "no" << endl ;
: : s2 = "";
: : }
: : return 0;
: : }
: : 補充說明(Supplement):
: : 小弟在高中生解題系統上練習,本來是用getline的想法去寫
: : 可是在google後找到這段程式碼,請教各位先進
: : 爲什麼可以直接s2+=s1[s1.lenght()-1],好抽象
: : 懇請各位解惑
: 先註解一下,
: 原題目:http://zerojudge.tw/ShowProblem?problemid=a022
: 基本上直接存成字串然後比對就好,
: 另外使用strlen或是string裡面的.length(),
: 如果要拿來跑迴圈判斷式,
: 記得先存到一個變數裡面。
: #include<stdio.h>
: #include<string.h>
: main(){
: int i,j;
: char s[1050];
: while(scanf("%s",s)!=EOF){
: for(i=0,j=strlen(s)-1 ; i<j && s[i]==s[j]; ++i,--j);
: if(i<j)
: puts("no");
: else
: puts("yes");
: }
: }
最近剛好要做這種程式寫法的練習
不過看了這篇一下之後
有點不太懂為什麼可以用這種方式判斷
不知道有沒有人可以解釋一下 謝謝
看起來好像是換成字串長度來判斷是否為迴文
不過不太清楚為什麼可以這樣判斷
還有他的判斷方式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.237.62
→
12/02 14:37, , 1F
12/02 14:37, 1F
→
12/02 14:53, , 2F
12/02 14:53, 2F
→
12/02 14:54, , 3F
12/02 14:54, 3F
→
12/02 14:56, , 4F
12/02 14:56, 4F
→
12/02 15:21, , 5F
12/02 15:21, 5F
→
12/02 15:25, , 6F
12/02 15:25, 6F
推
12/02 15:44, , 7F
12/02 15:44, 7F
→
12/02 15:56, , 8F
12/02 15:56, 8F
→
12/02 15:57, , 9F
12/02 15:57, 9F
→
12/02 19:45, , 10F
12/02 19:45, 10F
→
12/02 23:30, , 11F
12/02 23:30, 11F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章