10点問題:出口調査
あるデパートで買い物金額の出口調査を行いました。買い物金額のデータを入力とし、1人あたりの平均買い物金額を計算し、出力して終了するプログラムを作成してください。調査人数は、10000人以下とし、全員の買い物金額の合計は10億円を超えないものとします。
という問題です。一番簡単だったので、早速作ってみることにしました。
#include <stdio.h> #include <math.h> int main(void) { int i; int money; int people; int average; double sum = 0; clear:printf("何人の調査をしますか?:"); scanf("%d", &people); if(people>0 && people<pow(10,4)) { for(i=1 ; i<=people ; i++) { printf("%d人目の買い物金額:", i); scanf("%d", &money); sum += money; if(sum >= pow(10, 9)) { printf("ERROR!!\n"); goto clear; } } average = sum/people; printf("結果は%d円です。\n", (int)average); } else { printf("ERROR!!\n"); goto clear; } return 0; }
基本的には平均値を求めるプログラムですが、例外処理をいれてあるので少し複雑になっています。私はこの処理にgoto文を使ってしまいましたが、どうでしょうか?goto文は多用するべきではないですが、今回は処理がスッキリするのでよかったかなと思います。
Link : goto文について from Wikipedia (これを根拠にいいわけ)
| 固定リンク
「C」カテゴリの記事
- CG法(2008.12.09)
- NTEmacs + MinGW + MSYSでWindows上にC言語開発環境を構築してみる - その5(2008.10.10)
- NTEmacs + MinGW + MSYSでWindows上にC言語開発環境を構築してみる - その4(2008.10.09)
- NTEmacs + MinGW + MSYSでWindows上にC言語開発環境を構築してみる - その3(2008.10.08)
- NTEmacs + MinGW + MSYSでWindows上にC言語開発環境を構築してみる - その2(2008.10.07)
この記事へのコメントは終了しました。
コメント