
名前(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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- ダイエット・食事制限 BMIだけじゃないのかもしれません 3 2023/05/29 05:42
- Excel(エクセル) Excelのテーブルについて 6 2023/07/07 08:37
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
(C言語)めちゃくちゃな値にな...
-
C言語 関数
-
C言語 九九表
-
文字コードについて
-
勝率をプログラムに
-
ダブルポインタで2次元配列を作成
-
コマンドラインに出力した文字...
-
テキストカーソル位置の取得
-
c言語でAからZまでを表示する...
-
LU分解法のピボット選択機能実...
-
\\x1bを使ったswitch文が反応し...
-
長方形、円、三角形の計算する...
-
C言語の勉強しています。すみま...
-
一番大きい奇数を表示する
-
8人分のテストの点数を入力し、...
-
九九を表示させるプログラム
-
scanfに文字が入力されたときに...
-
printf( " %2d", p * q );
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
c言語で2000年以降カレンダーを...
-
c言語でAからZまでを表示する...
-
【C】fizzbuzzのトリッキーなコ...
-
strcmp
-
printf で二進表示を行いたい。
-
【C言語教えてください】sin波...
-
コマンドラインに出力した文字...
-
8人分のテストの点数を入力し、...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
(C言語)めちゃくちゃな値にな...
-
cshの文字列操作(0埋め)
-
テキストカーソル位置の取得
-
コマンドプロンプトがすぐ消える
-
printfの出力内の文字をdefine...
-
scanfに文字が入力されたときに...
-
台形の面積を求めるプログラム
-
改行について 1行に何個かづ...
-
WM_CLOSEで閉じれないウィンド...
おすすめ情報