#13515: 高手請進 && 有關string 的問題


mirkat.ee06@g2.nctu.edu.tw (炭烤海苔)

學校 : 不指定學校
編號 : 74539
來源 : [138.246.3.111]
最後登入時間 :
2023-11-22 18:43:09
a524. 手機之謎 | From: [140.113.126.70] | 發表日期 : 2018-03-07 00:53

寫這題的時候遇到一點有關string的小問題

就是

當string在宣告時沒有指定字串時,沒辦法直接 cout<< str ; 來輸出字串,必須用for迴圈一個個輸出

但宣告時指定字串長度有時又不符合實際需求(像此題長度範圍為1~8)

請問各位高手

有沒有甚麼神奇的手法可以不用用for迴圈,就可以直接sout<< str ; 出去的???

 

簡單的程式碼如下

有沒有方法讓cout<<"output = "<< output << endl; 可以正確輸出output??

 

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

int main()
{
    int n;
    while( cin>> n )
    {
        string output;
        for( int i=0 ; i<n ; i++ )
            output[i] = i + '0' ;
        for( int i=0 ; i<n ; i++ )
            cout<< output[i] ;
        cout<< endl ;
        cout<<"output = "<< output << endl;
    }
    return 0;
}

 
#13518: Re:高手請進 && 有關string 的問題


justinO__o (夜貓)

學校 : 臺北市立成功高級中學
編號 : 51052
來源 : [61.216.80.115]
最後登入時間 :
2023-12-25 15:06:44
a524. 手機之謎 | From: [175.182.115.116] | 發表日期 : 2018-03-07 23:13

寫這題的時候遇到一點有關string的小問題

就是

當string在宣告時沒有指定字串時,沒辦法直接 cout<< str ; 來輸出字串,必須用for迴圈一個個輸出

但宣告時指定字串長度有時又不符合實際需求(像此題長度範圍為1~8)

請問各位高手

有沒有甚麼神奇的手法可以不用用for迴圈,就可以直接sout<< str ; 出去的???

 

簡單的程式碼如下

有沒有方法讓cout<<"output = "<< output << endl; 可以正確輸出output??

 

#include
#include
using namespace std;

int main()
{
    int n;
    while( cin>> n )
    {
        string output;
        for( int i=0 ; i            output[i] = i + '0' ;
        for( int i=0 ; i            cout<< output[i] ;
        cout<< endl ;
        cout<<"output = "<< output << endl;
    }
    return 0;
}




把 '\0' 放在 output[n] 應該就可以了吧

 
#13520: Re:高手請進 && 有關string 的問題


mirkat.ee06@g2.nctu.edu.tw (炭烤海苔)

學校 : 不指定學校
編號 : 74539
來源 : [138.246.3.111]
最後登入時間 :
2023-11-22 18:43:09
a524. 手機之謎 | From: [140.113.126.70] | 發表日期 : 2018-03-08 13:26


把 '\0' 放在 output[n] 應該就可以了吧


我之前就試過了

不行QQ

 
#13653: Re:高手請進 && 有關string 的問題


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a524. 手機之謎 | From: [1.173.96.251] | 發表日期 : 2018-04-03 14:12

有試過宣告成 string output = ""; 這樣嗎?

 
ZeroJudge Forum