
名前(char name[20]),年齢(intage),身長(double height),体重(double weight)の4つのメンバを持つ構造体であるperson型を宣言し,以下のようなプログラムを作成せよ.
1.1つの構造体変数を宣言し,それぞれのメンバの値を入力させ表示する.
2.構造体person型の配列を作成し,3人分のデータを入力して表示する.
3.BMIを求める関数double bmi(person *p) を作成し,入力した3人分のデータからそれぞれのBMIを求め表示する.
BMIとはBody Mass Indexのことで肥満度を表す指数
体重をw(kg),身長をt(m)とすると,BMI = w/t2
解答お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
#include <stdio.h>
struct psrson
{
char name[10];
int age;
double height;
double waight;
};
struct prson getData()
{
struct person wk;
printf("データを入力してください\n");
printf("名前:");
scanf("%s", wk.name);
printf("年齢:");
scanf("%d", &wk.age);
printf("身長:");
scanf("%lf", &wk.height);
printf("体重:");
scanf("%lf", &wk.waight);
return wk;
}
void print(struct person value)
{
printf("--------------------------\n");
printf("名前:%s\n", value.name);
printf("年齢:%d\n", value.age);
printf("身長:%f\n", value.height);
printf("体重:%f\n", value.waight);
}
double bmi(struct person *p)
{
return (p->waight / p->height / p->height);
}
/* 問1 */
int main()
{
struct person aPerson = getData();
print(aPerson);
return 0;
}
/* 問2 */
int main()
{
struct person three_person[3];
int i;
for(i = 0; i < 3; three_person[i++] = getData());
for(i = 0; i < 3; print(three_person[i++]));
return 0;
}
/* 問3 */
int main()
{
struct person three_person[3];
int i;
for(i = 0; i < 3; three_person[i++] = getData());
for(i = 0; i < 3; i++)
{
printf("------------------------------------\n");
printf("名前: %s\n", three_person[i].name);
printf("BMI: %f\n", bmi(&three_person[i]);
}
return 0;
}
何となく書いてみたかったので。
でも、未確認です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cプログラミング
-
分数を表示するプログラム(長...
-
C言語 ツェラーの公式を使った...
-
台形の面積を求めるプログラム
-
C言語
-
既約分数の表示プログラム
-
摂氏の値を計算するプログラム...
-
ホームページをC言語で作りたい...
-
strcmp
-
プログラミングC言語の問題です...
-
\\x1bを使ったswitch文が反応し...
-
コマンドライン引数
-
printf、最大値の出し方
-
Cのdoubleの浮動小数点表示につ...
-
cshの文字列操作(0埋め)
-
改行について 1行に何個かづ...
-
円の面積を求めるプログラミン...
-
C言語についてです。 アスタリ...
-
ナップサック問題の選択におけ...
-
C言語で 選択肢: |?| |?| |?| 1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンパイルエラーについて
-
printf で二進表示を行いたい。
-
コマンドラインに出力した文字...
-
(C言語)めちゃくちゃな値にな...
-
c言語でAからZまでを表示する...
-
printfの出力内の文字をdefine...
-
defineで定数が置き換えられな...
-
c言語で2000年以降カレンダーを...
-
cshの文字列操作(0埋め)
-
10個出力で改行したいのですが...
-
4の倍数を論理演算で表す。。
-
ホームページをC言語で作りたい...
-
コマンドプロンプトがすぐ消える
-
教えてください!!
-
Cプログラムについて
-
サイコロをふって、出た目のパ...
-
strcmp
-
じゃんけんゲームの応用
-
C言語でマウス入力(クリックや...
-
printfの有無で値が変化する
おすすめ情報