回答編集履歴
2
コードの抜け修正
    
        answer	
    CHANGED
    
    | 
         @@ -30,7 +30,9 @@ 
     | 
|
| 
       30 
30 
     | 
    
         
             
              {
         
     | 
| 
       31 
31 
     | 
    
         
             
                if( k<0 )break;  //※この内側ループを抜ける条件(1)
         
     | 
| 
       32 
32 
     | 
    
         
             
                if( x>=table[k] )break;  //※この内側ループを抜ける条件(2)
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
       33 
     | 
    
         
            -
                
         
     | 
| 
      
 34 
     | 
    
         
            +
                table[k+1]= table[k];
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
       34 
36 
     | 
    
         
             
                k--;
         
     | 
| 
       35 
37 
     | 
    
         
             
              }
         
     | 
| 
       36 
38 
     | 
    
         
             
              //-----↑内側のforの部分↑
         
     | 
1
追記
    
        answer	
    CHANGED
    
    | 
         @@ -8,4 +8,35 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
            要は,そのコードをあなたが忠実に実行(シミュレート)してみる.
         
     | 
| 
       9 
9 
     | 
    
         
             
            そうすればやってることが見えてくるでしょう.
         
     | 
| 
       10 
10 
     | 
    
         
             
            一個データが入力されるたびに,配列をどのように更新しているのか,というのが.
         
     | 
| 
       11 
     | 
    
         
            -
            (まぁ,「どのように」=「昇順」なわけだが)
         
     | 
| 
      
 11 
     | 
    
         
            +
            (まぁ,「どのように」=「昇順」なわけだが)
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ---
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            コードが読めない(?)とのことなので,
         
     | 
| 
      
 16 
     | 
    
         
            +
            件の2重forの部分を処理順が分かりやすい(つもりの)形に書き換えてみました.
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            * ループをwhileに置き換えて,`for(A; B; C)` の{A,B,C}の処理順を明確化
         
     | 
| 
      
 19 
     | 
    
         
            +
            * ループ条件をwhileに書くのではなく,ループ内で「ループを抜ける条件」としてbreakする形に書いた.
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            ```C
         
     | 
| 
      
 22 
     | 
    
         
            +
            n=0;
         
     | 
| 
      
 23 
     | 
    
         
            +
            while( 1 )//※とにかく無条件にループ
         
     | 
| 
      
 24 
     | 
    
         
            +
            {
         
     | 
| 
      
 25 
     | 
    
         
            +
              if( scanf("%d",&x) != 1 )break;  //※このループを抜ける条件
         
     | 
| 
      
 26 
     | 
    
         
            +
              
         
     | 
| 
      
 27 
     | 
    
         
            +
              //-----↓内側のforの部分↓
         
     | 
| 
      
 28 
     | 
    
         
            +
              k = n-1;
         
     | 
| 
      
 29 
     | 
    
         
            +
              while( 1 )//※とにかく無条件にループ
         
     | 
| 
      
 30 
     | 
    
         
            +
              {
         
     | 
| 
      
 31 
     | 
    
         
            +
                if( k<0 )break;  //※この内側ループを抜ける条件(1)
         
     | 
| 
      
 32 
     | 
    
         
            +
                if( x>=table[k] )break;  //※この内側ループを抜ける条件(2)
         
     | 
| 
      
 33 
     | 
    
         
            +
                
         
     | 
| 
      
 34 
     | 
    
         
            +
                k--;
         
     | 
| 
      
 35 
     | 
    
         
            +
              }
         
     | 
| 
      
 36 
     | 
    
         
            +
              //-----↑内側のforの部分↑
         
     | 
| 
      
 37 
     | 
    
         
            +
              
         
     | 
| 
      
 38 
     | 
    
         
            +
              table[k+1] = x;
         
     | 
| 
      
 39 
     | 
    
         
            +
              
         
     | 
| 
      
 40 
     | 
    
         
            +
              n++;
         
     | 
| 
      
 41 
     | 
    
         
            +
            }
         
     | 
| 
      
 42 
     | 
    
         
            +
            ```
         
     |