c言語で「5人の学生の学籍番号,英語の点数,体重が以下の通りであった。
学籍番号 英語 体重(kg)
------------------------
9972001 84 62.3
9972002 70 54.2
9972003 65 68.9
9972004 96 82.1
9972005 82 70.4
学籍番号と英語の点数,体重を格納する構造体を作り,その構造体の配列に上記のデータを格納した状態で,英語の点数の下限と体重の下限を入力すると,英語の点数と体重が共に下限以上である学生の学籍番号のリストと該当する学生の人数を表示するプログラムを作成せよ。ただし,学籍番号と英語の点数は整数,体重は実数で表現すること。」という課題が出ました。一応作ってはみたものの学籍番号のリストと該当する学生の人数の表示の仕方がわかりません。
実行例は
「英語の点数の下限:80
体重の下限:65
英語の点数が80点以上で,体重が65.000000kg以上の人のリスト
9972004
9972005
(計2人)」となる感じです。一応僕が作ったプログラミングも載せておきます。でも間違えだらけの上に未完成です。どなたか教えて下さい。お願いします。
No.2ベストアンサー
- 回答日時:
例えば、
#include <stdio.h>
struct profile
{
int no; // 学籍番号
int eng; // 英語の点数
double weight; // 体重
};
int main();
void init(struct profile student[]);
void set_prof(struct profile *pstudent, int no, int eng, double weight);
int main()
{
struct profile student[5];
int btm_eng; // 英語点数の下限
double btm_weight; // 体重の下限
int i, count; // カウンタ、生徒数カウント
// 初期化
init(student);
printf("英語の点数の下限:");
scanf_s("%d", &btm_eng);
printf("体重の下限:");
scanf_s("%lf", &btm_weight);
printf("英語の点数が%d点以上で,体重が%9.6lfkg以上の人のリスト\n", btm_eng, btm_weight);
count = 0;
for (i = 0; i <= 4; i++)
{
if ((btm_eng <= student[i].eng) && (btm_weight <= student[i].weight))
{
printf("%d\n", student[i].no);
count++;
}
}
printf("(計:%d人)\n", count);
return 0;
}
void init(struct profile student[])
{
set_prof(&student[0], 9972001, 84, 62.3);
set_prof(&student[1], 9972002, 70, 54.5);
set_prof(&student[2], 9972003, 65, 68.9);
set_prof(&student[3], 9972004, 96, 82.1);
set_prof(&student[4], 9972005, 82, 70.4);
}
void set_prof(struct profile *pstudent, int no, int eng, double weight)
{
pstudent->no = no;
pstudent->eng = eng;
pstudent->weight = weight;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- MySQL 三科目合計点のクラス別平均点求めるクエリ式を教えてください 1 2023/07/04 09:44
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- 大学受験 数学が苦手で社会が得意な場合は一橋よりも東大の方が受かりやすい、ということはあり得ますか? 3 2022/04/16 16:46
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 大学受験 高校3年生です。大学入試についてです。 受験科目は英語100、国語100、面接50の計250点です。 3 2022/08/11 17:31
- 中学校 友達の影響で学力レベルが落ちる? 4 2022/09/18 14:50
- 子供・未成年 自分はただの嘘つき? 4 2022/05/24 17:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
比較回数と交換回数表示について
-
nCmの関数
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 配列と関数の練習問題
-
c言語
-
std::set<int> で、ある値が何...
-
卒業研究でよく分からないとこ...
-
C言語 エラーの原因がわからな...
-
DLLをGetProcAddress()で実行で...
-
【C++】関数ポインタの使い方
-
read関数をノンブロッキングで...
-
C言語における対称行列の作り方...
-
構造体の勉強中です 合計点の高...
-
C言語です。
-
C言語での引数の省略方法
-
困ってます…nCrを求めるC言語...
-
C++でvectorにテキストファイル...
-
プログラミング
-
素数 再帰関数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報