teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

追記

2021/11/19 05:17

投稿

papapa
papapa

スコア11

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,12 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  氏名、年齢を変数として持つ構造体を宣言し、大きさ10の構造体配列を定義。その配列に対して、10人分の氏名と年齢を入力し、年齢が最も高い人の氏名と年齢を表示させたいです。
4
+
4
- いろいろ調べ、その都度考えてはいるのですが、頭がこんがらがってきました。
5
+ ###追記(2021/11/19 14:12)
6
+ みなさんアドバイス等ありがとうございます。
7
+ 私の能力が産毛が生えるかどうかしかないのと、自己中心的な考えが、みなさんを苛出せているのだろうなと思ってます。
8
+ 私的には何時間も考えて分からなくなって聞いてるので、100%投げ出してるつもりはないのですが、きっと適当にしてるように見えてしまうのでしょうね。
9
+ 正直、みなさんからいただいたコードがそんなに理解できてないので、またそれぞれの使い方を学んでから質問等させていただきたいです。的外れな質問をしてしまうかも知れませんが、よろしくお願いします。(下記のコードは変えてません)
5
10
  ### 該当のソースコード
6
11
 
7
12
  ```c

2

を少し書き換えましたを少し書き換えました

2021/11/19 05:17

投稿

papapa
papapa

スコア11

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  氏名、年齢を変数として持つ構造体を宣言し、大きさ10の構造体配列を定義。その配列に対して、10人分の氏名と年齢を入力し、年齢が最も高い人の氏名と年齢を表示させたいです。
4
- いろいろ調べ、その都度考えてはいるのですが、頭がこんがらがってきました。tabを使わない派なので見にくいかも知れませんが、ご了承ください。
4
+ いろいろ調べ、その都度考えてはいるのですが、頭がこんがらがってきました。
5
-
6
5
  ### 該当のソースコード
7
6
 
8
7
  ```c
@@ -23,10 +22,13 @@
23
22
   Students data[10];
24
23
   int i;
25
24
   int max;
25
+  int age_max;
26
+ max=0;
27
+ age_max=0;
26
28
   for(i=0;i<10;i++){InputStudents(&data[i]);}
27
29
   ShowStudents(data[i]);
28
30
   max=0;
29
-  if (max <= data[i].age) { max = data[i].age; }
31
+  if (max <= data[i].age) { max = data[i].age; age_max = i; }
30
32
 
31
33
   return 0;}
32
34
 
@@ -41,6 +43,7 @@
41
43
 
42
44
  void ShowStudents(Students data)
43
45
  {
44
-  printf("最高年齢の生徒:%s,年齢:%d", data.name, max);
46
+ printf("最高年齢の生徒:%s,年齢:%d", data[age_max].name,data[age_max].age);
47
+
45
48
  }
46
49
  ```

1

スペースで開けましたが、pythonで学んだインデン結局見にくいのかも知れません結局見にくいのかも知れません

2021/11/18 03:36

投稿

papapa
papapa

スコア11

title CHANGED
File without changes
body CHANGED
@@ -11,8 +11,8 @@
11
11
 
12
12
  typedef struct
13
13
  {
14
- char name[256];
14
+  char name[256];
15
- int age;
15
+  int age;
16
16
  } Students;
17
17
 
18
18
  void InputStudents(Students *data);
@@ -20,26 +20,27 @@
20
20
 
21
21
  int main(void)
22
22
  {
23
- Students data[10];
23
+  Students data[10];
24
- int i;
24
+  int i;
25
- int max;
25
+  int max;
26
- for(i=0;i<10;i++){InputStudents(&data[i]);}
26
+  for(i=0;i<10;i++){InputStudents(&data[i]);}
27
- ShowStudents(data[i]);
27
+  ShowStudents(data[i]);
28
- max=0;
28
+  max=0;
29
- if (max <= data[i].age) { max = data[i].age; }
29
+  if (max <= data[i].age) { max = data[i].age; }
30
30
 
31
- return 0;}
31
+  return 0;}
32
32
 
33
33
  void InputStudents(Students *data)
34
34
  {
35
- printf("氏名(空白なしで入力):");
35
+  printf("氏名(空白なしで入力):");
36
- scanf("%s",data->name);
36
+  scanf("%s",data->name);
37
- printf("年齢:");
37
+  printf("年齢:");
38
- scanf("%d",&data->age);
38
+  scanf("%d",&data->age);
39
- printf("\n");}
39
+  printf("\n");
40
+ }
40
41
 
41
42
  void ShowStudents(Students data)
42
43
  {
43
- printf("最高年齢の生徒:%s,年齢:%d", data.name, max);
44
+  printf("最高年齢の生徒:%s,年齢:%d", data.name, max);
44
45
  }
45
46
  ```