回答編集履歴
1
コードの追加
    
        answer	
    CHANGED
    
    | @@ -41,4 +41,27 @@ | |
| 41 41 | 
             
            }
         | 
| 42 42 | 
             
            ```
         | 
| 43 43 | 
             
            準備の部分は、x[i] の入力時に行ってもよい。
         | 
| 44 | 
            -
            操作の部分は、a[j] の入力時に行ってもよい。
         | 
| 44 | 
            +
            操作の部分は、a[j] の入力時に行ってもよい。
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            **追記**
         | 
| 47 | 
            +
            jimbe さんにインスパイアされて、int a[101] もなくしてみました。
         | 
| 48 | 
            +
            ```C
         | 
| 49 | 
            +
            #include <stdio.h>
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            int main(void)
         | 
| 52 | 
            +
            {
         | 
| 53 | 
            +
            	int x[101], i, j, n, m;
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            	scanf("%d", &n);
         | 
| 56 | 
            +
            	for (i = 1; i <= n; i++) scanf("%d", &x[i]);
         | 
| 57 | 
            +
            	scanf("%d", &m);
         | 
| 58 | 
            +
            	for (j = 1; j <= m; j++) {
         | 
| 59 | 
            +
            		scanf("%d", &i);
         | 
| 60 | 
            +
            		if (x[i] != 2019 && (i == n || x[i+1] != x[i]+1)) x[i]++;
         | 
| 61 | 
            +
            	}
         | 
| 62 | 
            +
            	for (i = 1; i <= n; i++) printf("%d\n", x[i]);
         | 
| 63 | 
            +
            }
         | 
| 64 | 
            +
            ```
         | 
| 65 | 
            +
            C の規格上、void main より int main の方が良いでしょう。
         | 
| 66 | 
            +
            質問者の**学習用C言語開発環境**では、
         | 
| 67 | 
            +
            for文の第1式で変数の宣言はできなかったように思います。
         | 
