主に配列と繰り返し処理を憶えた方向けのC言語プログラム作成問題です。
解答例も全て添付しています。自主学習、授業用にご利用ください。
1から100まで縦に表示するプログラム
繰り返し処理を使って1から100まで縦に表示するプログラムを作ってください。
ファイル名: out1to100.c
実行イメージ
1 2 3 4 5 6 7 : : 99 100
#include <stdio.h> int main(void) { int i; i = 1; while(i<=100){ printf("%d\n", i); i++; } return 0; }
#include <stdio.h> int main(void) { int i; for(i=1; i<=100; i++){ printf("%d\n", i); } return 0; }
1から100まで縦に表示し5の倍数のとき右に「*」をつける
1から100まで縦に表示する。
ただし、5の倍数の時は右に「*」をつけて表示する。
ファイル名: out1to100_5.c
実行イメージ
1 2 3 4 5 * 6 7 : : 99 100 *
#include <stdio.h> int main(void) { int i; i = 1; while(i<=100){ if(i % 5 == 0){ printf("%d *\n", i); } else{ printf("%d\n", i); } i++; } return 0; }
#include <stdio.h> int main(void) { int i; for(i=1; i<=100; i++){ if(i % 5 == 0){ printf("%d *\n", i); } else{ printf("%d\n", i); } } return 0; }
5科目の点数をキーボードから入力し合計と平均を求める
配列 tokuten に5科目の得点をキーボードから入力させ、合計点と平均点を求め表示する。
なお、平均点は小数点以下1桁まで表示させよ。
実行イメージ
科目1 ? 78[Enter] 科目2 ? 90[Enter] 科目3 ? 100 [Enter] 科目4 ? 55 [Enter] 科目5 ? 80 [Enter] 合計: 403点 平均: 80.6点
#include <stdio.h> int main(void) { int i, tokuten[5], gokei = 0; double heikin; for(i=0; i<5; i++){ printf("科目%d ? ", i+1); scanf("%d", &tokuten[i]); gokei += tokuten[i]; } heikin = (double)gokei / 5.0; printf("\n合計: %d点\n", gokei); printf("平均: %.1f点\n", heikin); return 0; }


横棒グラフを表示する
次の配列データを使って横棒グラフを表示させよ。注)最後の -999 は終了判定に使う
int covid19[] = {42, 20, 52, 32, 67, 71, 90, -999};
横棒グラフの表示イメージ

/* 横棒グラフを描く */ #include <stdio.h> int main(void) { int i, j; int covid19[] = {42, 20, 52, 32, 67, 71, 90, -999}; for(i=0; covid19[i] != -999; i++){ /* 配列データが -999 で終了 */ printf("%5d|", covid19[i]); /* 横棒グラフを表示 */ for(j=0; j<covid19[i]; j++){ printf("■"); } printf("\n"); } return 0; }
コメント