回答編集履歴

1

コードの追加

2019/09/09 04:07

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -85,3 +85,49 @@
85
85
  準備の部分は、x[i] の入力時に行ってもよい。
86
86
 
87
87
  操作の部分は、a[j] の入力時に行ってもよい。
88
+
89
+
90
+
91
+ **追記**
92
+
93
+ jimbe さんにインスパイアされて、int a[101] もなくしてみました。
94
+
95
+ ```C
96
+
97
+ #include <stdio.h>
98
+
99
+
100
+
101
+ int main(void)
102
+
103
+ {
104
+
105
+ int x[101], i, j, n, m;
106
+
107
+
108
+
109
+ scanf("%d", &n);
110
+
111
+ for (i = 1; i <= n; i++) scanf("%d", &x[i]);
112
+
113
+ scanf("%d", &m);
114
+
115
+ for (j = 1; j <= m; j++) {
116
+
117
+ scanf("%d", &i);
118
+
119
+ if (x[i] != 2019 && (i == n || x[i+1] != x[i]+1)) x[i]++;
120
+
121
+ }
122
+
123
+ for (i = 1; i <= n; i++) printf("%d\n", x[i]);
124
+
125
+ }
126
+
127
+ ```
128
+
129
+ C の規格上、void main より int main の方が良いでしょう。
130
+
131
+ 質問者の**学習用C言語開発環境**では、
132
+
133
+ for文の第1式で変数の宣言はできなかったように思います。