竹園論壇
標題: toj 123 [打印本頁]
作者: 林宇翔 時間: 2014-8-14 18:48
標題: toj 123
本帖最後由 林宇翔 於 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==0 || up[c]==0) && (down==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;
}
作者: visitorIKC 時間: 2014-8-14 20:22
請注意範例輸入:
6
110111
011100
數字間沒有空格。
作者: domen111 時間: 2014-8-14 20:44
建議你在電腦測試的時候可以把文字複製起來貼上,不要手動打,否則容易有類似的問題。
像我剛剛跑你這個程式直接貼題目的範例測資就看得出錯誤了
作者: 林宇翔 時間: 2014-8-16 17:57
那請問
要如何把一串數字分開
作者: Sylveon 時間: 2014-8-16 19:39
把它當字元處裡,不要忘了,輸入的東西除了數字,你也可以把它當作是文字
作者: 林宇翔 時間: 2014-8-17 19:26
可以給個範例嗎
作者: Sylveon 時間: 2014-8-17 21:59
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 <<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 <<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 != 0)
//while(s != '\0')
while( s )
{
cout<<"第"<< i <<"個字 : "<< s <<endl;
i++;
}
}
作者: 林宇翔 時間: 2014-8-18 20:00
謝謝
作者: 林宇翔 時間: 2014-8-19 17:26
這程式加了 取得字串長度 後變得無法判斷
請問各位學長
到底錯在哪裡
[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/) |
Powered by Discuz! X3.2 |