お題:
n個の整数に関して数値をそれぞれ入力し、その整数の合計を求めるプログラム
①はじめに、整数の個数nを入力させる
②n個分の整数を入力する
③合計値を出す
プログラム実行例
整数の個数nを入力してください n=3 a0=3 a1=4 a2=5 よって合計値は 3+4+5=12 です |
必須事項
・while文、配列を使う事
注意事項
・合計値の式はwhile文で工夫
・配列の数え方 (a[0],a[1],a[2]・・・)
・配列は事前にたくさん用意すると対応できる (百個とか)
予備知識:
配列は、数値を入れる箱です。箱を用意する方法は
int = a[3];
と書きます。この場合、a[0],a[1],a[2]という3つの箱ができます。
配列は、例えばiという変数を用意した時、
a[i]
といった書き方が出来ます。iにはもちろん数字を入れなければなりませんが、iが1づつ増えていく場合、a[i]とするだけで、a[0],a[1],a[2]とiの数の配列が指定されることになり、便利です。
解答は9月18日に掲載します。それまでにプログラムを作成し、
・プログラム文
・その実行ファイル
をメールに添付して以下のアドレスに送ってください。
解答、質問はこちらまで
cosmo-cleaner@za.pial.jp
---------------------------------------------------------------
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main () { |
実行例は次の通りです
整数の個数nを入力してください |
整数の個数nを入力してください |
解説
赤い部分(3行目)はa[100]とすることで、a[0]からa[99]までの変数を作っています。これは、入力する整数を記憶する変数になり、つまりこのプログラムは100個までの足し算が出来る事になります。
青い部分では、入力する数値を受け付けます。iが配列a[?]の?を指定しています。iは初めは0でwhile文に入ります。printfでa0=と出力され、scanfでa[0]に数値が代入されます。
i += 1; は、i=i+1; と同じ意味になります。while文を実行すると最後にiが1増えます。
これが整数の個数n回だけ繰り返されます。a[0]からa[n-1]まで数字が入る事になります。
紫の部分では、計算式と合計値を表示します。while文で計算式をどんどん書いています。整数の個数n個分繰り返すと、計算式の最後に+が出てきてしまうので、while ( i <= n-2 ) { としています。n-1個分繰り返して、最後にa[n-1]だけを添えます。
while文では計算式を書くと同時に合計値sumの計算をしています。while文はn-1回しか繰り返さないので、正確には
sum = a[0] + ・・・ + a[n-2]
で、本当の合計値はsum + a[n-1]となります。
答えられる範囲で質問いつでも受け付けます。
cosmo-cleaner@za.pial.jp
0 件のコメント:
コメントを投稿