查看: 1426|回復: 14
打印 上一主題 下一主題

[解決] toj 123

[複製鏈接]
  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    跳轉到指定樓層
    樓主
    發表於 2014-8-14 18:48:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    本帖最後由 林宇翔 於 2014-8-20 17:23 編輯

    請各位幫我看一下
    在電腦執行完全無誤
    可是上傳後卻是WA
    [C++] 純文本查看 復制代碼
    #include<iostream>
    using namespace std;
    int main()
    {
            int a,d=0;
            cin>>a;
            int up[a-1],down[a-1];
            
            for(int e=0;e<=a-1;e++)
            {
                    cin>>up[e];
            }
            for(int e=0;e<=a-1;e++)
            {
                    cin>>down[e];
            }
            
            for(int b=0,c=1;b<a || c<a;b++,c++)
            {
                    if((up[b]==0 || up[c]==0) && (down[b]==0 || down[c]==0))
                    {
                            cout<<"FENESTRATION FORTIFICATION FAILURE!"<<endl;
                            break;
                    }
                    else
                    {
                            d=d+1;
                    }
            }
            //cout<<d;
            if  (d != 0)
                    {
                            
                            cout<<"FENDED OFF!"<<endl;
                    }
            return 0;
    }
    
    林宇翔
    回復

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-6-17 11:50
  • 簽到天數: 177 天

    [LV.7]常住居民III

    15

    主題

    315

    帖子

    1437

    積分

    金牌會員

    Rank: 6Rank: 6

    積分
    1437

    新手達陣台南一中資訊社

    頭香
    發表於 2014-8-14 20:22:26 | 只看該作者
    請注意範例輸入:

    6
    110111
    011100

    數字間沒有空格
    目標:Taiwan Oranges-Integraled 2016 (TOI'16)台灣積分橘子。
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2015-4-12 10:09
  • 簽到天數: 137 天

    [LV.7]常住居民III

    142

    主題

    686

    帖子

    3559

    積分

    邁向天堂

    蘇多門

    Rank: 8Rank: 8

    積分
    3559

    新手達陣台南一中資訊社程式設計達人 - 2014

    3#
    發表於 2014-8-14 20:44:31 | 只看該作者
    建議你在電腦測試的時候可以把文字複製起來貼上,不要手動打,否則容易有類似的問題。
    像我剛剛跑你這個程式直接貼題目的範例測資就看得出錯誤了
    蘇多門 domen111
    My Web: https://sites.google.com/site/domenprg/
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    4#
     樓主| 發表於 2014-8-16 17:57:29 | 只看該作者
    那請問
    要如何把一串數字分開
    林宇翔
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    5#
    發表於 2014-8-16 19:39:21 | 只看該作者
    把它當字元處裡,不要忘了,輸入的東西除了數字,你也可以把它當作是文字

    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    6#
     樓主| 發表於 2014-8-17 19:26:54 | 只看該作者
    可以給個範例嗎
    林宇翔
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    7#
    發表於 2014-8-17 21:59:54 | 只看該作者
    C++ string範例

    [C++] 純文本查看 復制代碼
    #include<iostream>
    using namespace std;
    
    int main()
    {
    	string s;
    	int len;
    	cin >> s;
    	len = s.size(); // 取得字串長度
    	for(int i=0; i<len ;++i)
    	{
    		cout<<"第"<< i <<"個字 : "<< s[i] <<endl;
    	}
    }


    C++ C style string 範例
    這裡有一個問題在於判斷字串結尾的方法,可歸納為兩寫法:
    1. 用strlen先求出長度,那架構跟C++ string的範例是一樣的

    [C++] 純文本查看 復制代碼
    #include<iostream>
    #include<cstring> //For strlen
    using namespace std;
    
    int main()
    {
    	char s[100]; //100 : 可容納的字數-1 
    	int len;
    	cin >> s;
    	len = strlen(s); // 取得字串長度
    	for(int i=0; i<len ;++i)
    	{
    		cout<<"第"<< i <<"個字 : "<< s[i] <<endl;
    	}
    }


    2.利用字串結束字元 \0 的值等於 0 來判斷結尾
    [C++] 純文本查看 復制代碼
    #include<iostream>
    using namespace std;
    
    int main()
    {
    	char s[100]; //100 : 可容納的字數-1 
    	cin >> s;
    	int i = 0;
    	//下三個while效果相同 
    	//while(s[i] != 0)
    	//while(s[i] != '\0')
    	while( s[i] )
    	{
    		cout<<"第"<< i <<"個字 : "<< s[i] <<endl;
    		i++;
    	}
    }

    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    8#
     樓主| 發表於 2014-8-18 20:00:30 | 只看該作者
    謝謝
    林宇翔
    回復

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    9#
     樓主| 發表於 2014-8-19 17:26:45 | 只看該作者
    這程式加了 取得字串長度 後變得無法判斷
    請問各位學長
    到底錯在哪裡
    [C++] 純文本查看 復制代碼
    #include<iostream>
    using namespace std;
    int main()
    {
            int a,d=0,i=0,j=0;
            cin>>a;
            string up,down;
            for(i=0;i<a;i++)
            {
                    cin>>up;
                    i = up.size(); // 取得字串長度
                    //cout<<i;
            }
            for(j=0;j<a;j++)
            {
                    cin>>down;
                    j = down.size(); // 取得字串長度
            }
            i=i-1;
            j=j-1;
            /*for(int e=0; e<i ;++e)
        {
            cout<<"第"<< e <<"個字 : "<< up[e] <<endl;
        }*/
            //cout<<i<<endl<<j<<endl;
            for(int b=0,c=1;b<i-1 || c<i-1;b++,c++)
            {
                    cout<<up<<up[c]<<endl<<down<<down[c]<<endl<<endl;
                    //cout<<"1";
                    if((up==0 || up[c]==0) && (down==0 || down[c]==0))
                    {
                            cout<<"FENESTRATION FORTIFICATION FAILURE!"<<endl;
                            break;
                    }
                    else
                    {
                            //cout<<"1234536";
                            d=d+1;
                    }
            }
            //cout<<d;
            if  (d != 0)
                    {
                            
                            cout<<"FENDED OFF!"<<endl;
                    }
            return 0;
    }

    點評

    剛寫了解題分享,參考看看:http://forum.tfcis.org/thread-425-1-1.html  發表於 2014-8-19 18:47
    寫錯了,是 up.length()  發表於 2014-8-19 18:33
    你只須做一次 cin >> up; 而不是 N (就是你程式碼中的 a)次。N 代表字串的「長度」(等於 out.length())  發表於 2014-8-19 18:32
    toj123  發表於 2014-8-19 18:31
    可以講清楚一點嗎  發表於 2014-8-19 18:30
    林宇翔
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表