主に配列と繰り返し処理を憶えた方向けの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;
}
コメント