ほどほど

掃除と家事、趣味を楽しむずぼら主婦のブログ

C言語 お仕事・勉強・技術情報

C言語:表データから抽出・判定・計算

2016/01/25

if,else,また,かつ,switchなどを勉強しました。
それらを組み合わせて、条件に一致したものを抽出したり、合計値を出したり、○×判定したり、と色々やりました。

ここまでできるようになると、楽しくなってきます。

以下、今日の復習です。

表データから抽出・判定・計算

結果表示

全データ表示
No 名前 血液型 国語 数学
 1 渡辺 A        30   24
 2 佐藤 B        48   49
 3 山田 O        17   32
 4 井上 O        41   38
 5 田中 A        10   29 

A型かB型の人のみ表示
No 名前 血液型 国語 数学
 1 渡辺 A        30   24
 2 佐藤 B        48   49
 5 田中 A        10   29 

合計点数が60点以上なら合格
No 名前 血液型 合計 合否
 1 渡辺 A      54   ×
 2 佐藤 B      97   ○
 3 山田 O      49   ×
 4 井上 O      79   ○
 5 田中 A      39   ×

それぞれの血液型は何人か?
O型の人数は2人
A型の人数は2人
B型の人数は1人

ソース


#include
int main(void){

	/* 宣言と初期化 */
	int i,j,ans,sumo,suma,sumb;
	int no[5]={1,2,3,4,5};
	char name[5][20]={"渡辺","佐藤","山田","井上","田中"};
	char blood[5]={'A','B','O','O','A'};
	int hai[5][2]={30,24,48,49,17,32,41,38,10,29};

	/* 全部表示 */
	printf("\n全データ表示\n");
	printf("%2s %4s %6s %4s %4s\n","No","名前","血液型","国語","数学");
	for(i=0;i<=4;i++){
		printf("%2d %4s %-6c ",no[i],name[i],blood[i]);
		for(j=0;j<=1;j++){
			printf("%4d ",hai[i][j]);
		}
		printf("\n");
	}

	/* A型かB型の人のみ表示 */
	printf("\nA型かB型の人のみ表示\n");
	printf("%2s %4s %6s %4s %4s\n","No","名前","血液型","国語","数学");
	for(i=0;i<=4;i++){
		if(blood[i]=='A'|blood[i]=='B'){
			printf("%2d %4s %-6c ",no[i],name[i],blood[i]);
			for(j=0;j<=1;j++){
				printf("%4d ",hai[i][j]);
			}
		printf("\n");
		}
	}	

	/* 合計点数が60点以上なら合格 */
	printf("\n合計点数が60点以上なら合格\n");
	printf("%2s %4s %6s %4s %4s\n","No","名前","血液型","合計","合否");
	for(i=0;i<=4;i++){
		printf("%2d %4s %-6c ",no[i],name[i],blood[i]);
		ans=0;
		for(j=0;j<=1;j++){
			ans=ans+hai[i][j];
		}
		if(ans>=60)
			printf("%-4d ○",ans);
		else
			printf("%-4d ×",ans);
		printf("\n");
	}

	/* それぞれの血液型は何人か? */
	printf("\nそれぞれの血液型は何人か?\n");
	sumo=0;
	suma=0;
	sumb=0;
	for(i=0;i<=4;i++){
		switch(blood[i]){
			case 'O':
				sumo=sumo+1;
				break;
			case 'A':
				suma=suma+1;
				break;
			case 'B':
				sumb=sumb+1;
				break;
		}
	}
	printf("O型の人数は%d人\n",sumo);
	printf("A型の人数は%d人\n",suma);
	printf("B型の人数は%d人\n",sumb);

	return 0;
}

C言語おすすめ本

私がC言語を勉強した時に使っていた本

速習C言語入門[第2版] ~脳に定着する新メソッドで必ず身につく~の第1版を使っていました。
とても読みやすく、わかりやすくてオススメです。

-C言語, お仕事・勉強・技術情報