C言語初心者です。
以下課題に躓いていまして解答コードをご教示いただきたく存じます。
よろしくお願いいたします。
課題内容 次の構造体を typedef を使用して定義せよ。
構造体名 S_Human
データ型 名前 説明
char name[32] 氏名
short age 年齢
double height 身長(cm)
double weight 体重(kg)
次の構造体変数を定義し、指定した値で初期化を行いなさい。
データ型 変数名 初期値
S_Human people[] 下記に従う
■初期値
氏名 年齢 身長 体重
Jack 34 168.5 56.4
George 43 183.6 98.8
Leonardo 30 179.2 68.5
Gabriel 7 120.6 24.7
Henry 18 175.6 63.5
彼らの中から次の条件を満たす人物を抽出し、画面に氏名を表示せよ。複数いた場
合は合致した全ての人を表示せよ。
■抽出対象①
身長が 170cm 以上で体重が 60kg 以上の人
■抽出対象②
年齢が 30 歳未満で身長が 170cm 以上の人
出力期待値 抽出対象①
George
Leonardo
Henry
抽出対象②
Henr
ーーーーーーーーーーーーーーーーーーー
#include <stdio.h>
typedef struct
{
char name[32];
short age;
double height;
double weight;
}S_Human;
S_Human people[] =
{
{jack,34,168.5,56.4}
{George,43,183.6,98.8}
{Leonardo,30,179.2,68.5}
{Gabriel,7,120.6,24.7}
{Henry,18,175.6,63.5}
};
int main(void)
{
return 0;
}
No.1ベストアンサー
- 回答日時:
構造体変数 people の宣言の際に、要素数を指定する必要があります。
また、構造体変数 people の初期化の際、各要素の間にカンマが必要です。さらに、氏名を文字列として扱う場合はダブルクオーテーションで囲む必要があります。これらの修正点を踏まえた、正しい解答例を以下に示します。#include <stdio.h>
typedef struct
{
char name[32];
short age;
double height;
double weight;
} S_Human;
S_Human people[] =
{
{"Jack", 34, 168.5, 56.4},
{"George", 43, 183.6, 98.8},
{"Leonardo", 30, 179.2, 68.5},
{"Gabriel", 7, 120.6, 24.7},
{"Henry", 18, 175.6, 63.5}
};
int main(void)
{
int i;
// 抽出対象①:身長が 170cm 以上で体重が 60kg 以上の人
printf("抽出対象①:\n");
for(i = 0; i < sizeof(people) / sizeof(S_Human); i++)
{
if(people[i].height >= 170.0 && people[i].weight >= 60.0)
{
printf("%s\n", people[i].name);
}
}
// 抽出対象②:年齢が 30 歳未満で身長が 170cm 以上の人
printf("\n抽出対象②:\n");
for(i = 0; i < sizeof(people) / sizeof(S_Human); i++)
{
if(people[i].age < 30 && people[i].height >= 170.0)
{
printf("%s\n", people[i].name);
}
}
return 0;
}
修正点、ご回答いただきありがとうございます。
とても助かりました。
まだまだ勉強中の身なのでまた質問ありました際はよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
【お題】 ・西暦2100年の「小学生のなりたい職業ランキング」で1位になった職業は何か教えてください
-
プログラミングが分かりません。
C言語・C++・C#
-
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
C言語初心者です、、、お助けください
C言語・C++・C#
-
-
4
C言語の入力した文字を反転させるプログラミングの仕方が分かりません。
Ruby
-
5
構造体のメンバをfor文で回したい
C言語・C++・C#
-
6
str系関数を使わずに二つの文字を結合する方法
C言語・C++・C#
-
7
C言語初心者 構造体 課題について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C 開放してるのにエラー(doubl...
-
C言語の複素数についてです。
-
C言語を実行すると-infが出てき...
-
c言語のプログラミングについて...
-
P値(統計学)を求めるプログラム
-
浮動小数点の誤差のあわせ方
-
プログラムでの数字につく”f”の...
-
listに構造体を格納
-
(C,C++言語)関数の引数は自動キ...
-
極座標から直交座標に変換
-
2÷3などの余りについて
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
ある商品のロス率を5%見込み、...
-
Aの値からBの値を除するとは??
-
LU分解法のピボット選択機能実...
-
プログラミング初心者です。 Py...
-
C言語 エラーの原因がわからな...
-
分散分析における誤差項が負値...
-
switch文のエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
c言語で、繰り返し文の中で、0....
-
C 開放してるのにエラー(doubl...
-
doubleの変数にintとintの割り...
-
至急です! マクロ定義で #defi...
-
C言語 関数プロトタイプ宣言の...
-
float型とdouble型の変数の違い...
-
2次方程式の解を求めるプログ...
-
int とdoubleの比較
-
difftime()について
-
関数におけるif文とreturn文に...
-
物体が往復する動きを作りたい
-
Cで3乗根を求める方法
-
-1.#IND00と出てしまうのですが...
-
C言語の型による処理速度の違い
-
2分法で方程式の複数の解を自...
-
浮動小数点の定数
-
listに構造体を格納
-
c言語のコンパイルエラー canno...
おすすめ情報