看板 C_and_CPP 關於我們 聯絡資訊
輸出說明: 輸出指定的文字 範例輸入: world C++ mary 範例輸出 : hello, world hello, C++ hello, mary 提示 : 程式說明:因為系統會賦予數量不一的測試資料來測驗您的程式是否正確,因此必須先以 一個 while 迴圈來讀取所有的測試資料。 C++ 範例程式: #include<iostream> using namespace std; int main() { string s; while(cin >> s){ cout << "hello, "<< s << endl; } return 0;} 以下是我寫的 #include <stdio.h> #include <stdlib.h> int main(void) { char str[3][6]; int i=0; while(i<3) { scanf("%s",&str[i]); printf("hello, %s\n",str[i]); i++; } system("pause"); return 0; } 在dev上可以正確執行 線上測驗上傳後出現以下的錯誤 本題目共 2 個測試點,您的程式共通過 1 個測試點。(score:20) 獲得部分分數 20 分。 錯誤訊息如下: *** 第 1 點 (20%):AC *** 第 2 點 (80%):WA 與正確輸出不符合(line:4) 您的答案為: 正確答案為:hello, World 不知有沒有人可以幫解答一下,是否這系統有限制什麼不能用? 感覺是很簡單的題目耶 = = 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.103.25
world9918:你i從0跑到2 意即使用了str[0]~str[2] 那陣列宣告 07/20 17:05
world9918:應該要str[3][6]吧 07/20 17:05
SiriusJinn:對厚 = = 感謝樓上 發生了低級錯誤 Orz 07/20 17:08
SiriusJinn:修改後卻出現:與正確輸出不符合(line:4) 07/20 17:23
SiriusJinn:因為print不出答案,被當成空白了.... 07/20 17:24
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.103.25
iamivers0n:你怎麼這麼確定長度只要6?string會自己調大小耶... 07/20 18:14
iamivers0n:還有online judge可以用system類的函式嗎@@? 07/20 18:14
SiriusJinn:我system會去掉,我看最長的world也只有5個字元 = = 07/20 18:24
Fenikso:那只是範例.. 07/20 18:27
SiriusJinn:是喔@@ 那如果不考慮輸入的組數跟長度 while的條件怎寫 07/20 18:34
MOONRAKER:str[1024][1024]不就結了 只有64K好用的時代早就過去了 07/20 18:58
iamivers0n:scanf會回傳狀態 你只要檢查是不是等於EOF就可以了 07/20 19:51
iamivers0n:while ( scanf( "%s" , str ) ) { printf(...) } 07/20 19:52
iamivers0n:推錯= = 07/20 19:52
iamivers0n:while ( scanf( "%s" , str ) != EOF ) { printf(..) } 07/20 19:53
SiriusJinn:感謝樓上!判定過了,又學到了新東西.... 07/20 20:24
SiriusJinn:剛看了網站的使用手冊,原來有限定要用EOF = = 07/20 20:38
ledia:雖然只有 64K 的時代過去了, 但是現在也才演進到 1M (逃) 07/21 00:54
MOONRAKER:實用上也不必真的1M 光一個單純陣列吃64K也夠豪華了 |D 07/21 11:29