C言語:プログラム作成問題 Lv.3

challenge_C言語logo C言語プログラミングにチャレンジ

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

コメント

タイトルとURLをコピーしました