#1231: 為什麼WA?


lion811004 (arth123)


  1. #include<stdio.h>   
  2. int main(void)   
  3. {   
  4.     int s1, s2;   
  5.     int i, u;   
  6.     int h, k;   
  7.        
  8.     scanf("%d %d", &s1, &s2);   
  9.        
  10.     int va[s1][s2];   
  11.        
  12.     for(i=1;i<=s1;i++)   
  13.     for(u=1;u<=s2;u++)   
  14.     scanf("%d", &va[i][u]);   
  15.        
  16.        
  17.     for(h=1;h<=s2;h++){   
  18.                       for(k=1;k<=s1;k++){   
  19.                                         printf("%d ", va[k][h]);   
  20.                                         }   
  21.                       putchar('\n');   
  22.                       }   
  23.     return(0);   
  24. }  

您的程式未完成所有的輸出!!(line:4)
您只輸出了 3 行!
可能的原因為
* 未用 while 迴圈讀取全部的測試資料,以致輸出短少,請參考 a001 範例程式。
* 程式未充分考慮所有邊界值而導致程式提前中止

 為什麼WA??

我加do{}while()又會造成無限回圈...

怎麼辦??

#1824: Re:為什麼WA?


terry0412 (Terry)


  1. #include   
  2. int main(void)   
  3. {   
  4.     int s1, s2;   
  5.     int i, u;   
  6.     int h, k;   
  7.        
  8.     scanf("%d %d", &s1, &s2);   
  9.        
  10.     int va[s1][s2];   
  11.        
  12.     for(i=1;i<=s1;i++)   
  13.     for(u=1;u<=s2;u++)   
  14.     scanf("%d", &va[i][u]);   
  15.        
  16.        
  17.     for(h=1;h<=s2;h++){   
  18.                       for(k=1;k<=s1;k++){   
  19.                                         printf("%d ", va[k][h]);   
  20.                                         }   
  21.                       putchar('\n');   
  22.                       }   
  23.     return(0);   
  24. }  

您的程式未完成所有的輸出!!(line:4)
您只輸出了 3 行!
可能的原因為
* 未用 while 迴圈讀取全部的測試資料,以致輸出短少,請參考 a001 範例程式。
* 程式未充分考慮所有邊界值而導致程式提前中止

 為什麼WA??

我加do{}while()又會造成無限回圈...

怎麼辦??



while(scanf("%d %d", &s1, &s2)) {

...

 }