#37080: 求救!!!為甚麼不能用stack??用stack push變數進去結果出來該值對應的ascii是為甚麼???


vivian0119 (vivian)

學校 : 國立中山大學
編號 : 219710
來源 : [140.117.248.210]
最後登入時間 :
2024-10-15 14:56:21
a038. 數字翻轉 | From: [122.100.68.144] | 發表日期 : 2023-08-20 22:20

以下是測試用的程式碼:

測試出來的結果就是,用stack push變數進去結果出來該值對應的ascii碼

#include<iostream>
#include<stack>
#include<cstring>
using namespace std;

int main(){
    string n;
    getline(cin, n);
    stack <int> stack1;
    int point;
    for(int j = n.length()-1; j>=0; j--){
        if(n[j]=='0') continue;
        else if(n[j] != '0'){
            point = j;
            break;
        }
    }
    int a = n[0];
    stack1.push(a);
    cout << stack1.top();

再來是我自己寫出來百思不得其解為甚麼跑不了的完整程式碼:

#include<iostream>
#include<stack>
#include<cstring>
using namespace std;

int main(){
    string n;
    getline(cin, n);
    stack <int> stack1;
    int point;
    for(int j = n.length()-1; j>=0; j--){
        if(n[j]=='0') continue;
        else if(n[j] != '0'){
            point = j;
            break;
        }
    }
    for(int i = 0; i<=point; i++){
        stack1.push(n[i]);
    }
    for(int i=0; i<=point; i++){
        cout << stack1.top();
        stack1.pop();
    }
}
 
#37081: Re: 求救!!!為甚麼不能用stack??用stack push變數進去結果出來該值對應的ascii是為甚麼???


liaoweichen1024@gmail.com (M_SQRT)

學校 : 新北市立新莊高級中學
編號 : 195452
來源 : [163.13.50.106]
最後登入時間 :
2024-12-02 10:20:23
a038. 數字翻轉 | From: [118.166.132.219] | 發表日期 : 2023-08-20 22:37

這支程式碼問題不少欸~

提示: 可以將stack儲存的資了改成char。

改完後記得試試看5050這筆測資,再把剩下那個問修掉。

 
#37082: Re: 求救!!!為甚麼不能用stack??用stack push變數進去結果出來該值對應的ascii是為甚麼???


liaoweichen1024@gmail.com (M_SQRT)

學校 : 新北市立新莊高級中學
編號 : 195452
來源 : [163.13.50.106]
最後登入時間 :
2024-12-02 10:20:23
a038. 數字翻轉 | From: [118.166.132.219] | 發表日期 : 2023-08-20 22:38

,再把剩下那個問修掉。


*問題

 
#37083: Re: 求救!!!為甚麼不能用stack??用stack push變數進去結果出來該值對應的ascii是為甚麼???


liaoweichen1024@gmail.com (M_SQRT)

學校 : 新北市立新莊高級中學
編號 : 195452
來源 : [163.13.50.106]
最後登入時間 :
2024-12-02 10:20:23
a038. 數字翻轉 | From: [118.166.132.219] | 發表日期 : 2023-08-20 22:42

喔,抱歉,我被第一支程式搞混了,邏輯上沒什麼問題,stack儲存資料的型別改一下就行

 
#37084: Re: 求救!!!為甚麼不能用stack??用stack push變數進去結果出來該值對應的ascii是為甚麼???


vivian0119 (vivian)

學校 : 國立中山大學
編號 : 219710
來源 : [140.117.248.210]
最後登入時間 :
2024-10-15 14:56:21
a038. 數字翻轉 | From: [122.100.68.144] | 發表日期 : 2023-08-20 22:53

喔,抱歉,我被第一支程式搞混了,邏輯上沒什麼問題,stack儲存資料的型別改一下就行


喔對耶!!!!太感謝你了!!改完char,已AC!

 
ZeroJudge Forum