質問編集履歴

1

コードの簡略化

2022/01/08 10:54

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- scanfを含むC言語構造体配列をりた
1
+ scanfの作動が上手くきません
test CHANGED
@@ -1,16 +1,12 @@
1
- C言語の構造体配列について質問です。
2
-
3
-
4
-
5
- ```C言語
1
+ ```
6
2
 
7
3
  #include <stdio.h>
8
4
 
9
5
 
10
6
 
11
- struct student{
7
+ struct person{
12
8
 
13
- char name[64];
9
+ char name[40];
14
10
 
15
11
  double height;
16
12
 
@@ -26,47 +22,19 @@
26
22
 
27
23
  {
28
24
 
29
- struct student a[64];
25
+ struct person a[40];
30
26
 
31
27
  int i;
32
28
 
33
- double ave_height, ave_weight, ave_age;
34
-
35
- printf("Input three students' information:\n");
36
-
37
- struct student dt[64];
29
+ struct person dt[40];
38
30
 
39
31
  for (i=0; i<3; i++){
40
32
 
41
-
42
-
43
- printf("Name %d", i+1);
44
-
45
- printf(":");
46
-
47
33
  scanf("%s", dt[i].name);
48
-
49
-
50
-
51
- printf("Height %d", i+1);
52
-
53
- printf("(cm):");
54
34
 
55
35
  scanf("%lf", dt[i].height);
56
36
 
57
-
58
-
59
- printf("Weight %d", i+1);
60
-
61
- printf("(kg):");
62
-
63
37
  scanf("%lf", dt[i].weight);
64
-
65
-
66
-
67
- printf("age %d", i+1);
68
-
69
- printf(":");
70
38
 
71
39
  scanf("%d", dt[i].age);
72
40
 
@@ -76,64 +44,8 @@
76
44
 
77
45
 
78
46
 
79
-
80
-
81
- ave_height = (dt[1].height + dt[2].height + dt[0].height) / 3;
82
-
83
- ave_weight = (dt[1].weight + dt[2].weight + dt[0].weight) / 3;
84
-
85
- ave_age = (dt[1].age + dt[2].age + dt[0].age) / 3;
86
-
87
-
88
-
89
-
90
-
91
- printf("Average height: %.1f cm.\n", ave_height);
92
-
93
- printf("Average weight: %.1f kg.\n", ave_weight);
94
-
95
- printf("Average age: %.1f year(s) old.\n", ave_age);
96
-
97
-
98
-
99
- return 0;
100
-
101
- }
102
-
103
47
  ```
104
48
 
105
49
 
106
50
 
107
- 構造体型を利用し、身長、体重、年齢の平均値を出したいのですが上記のプログラムをを動かすと、
108
-
109
-
110
-
111
- Input three students' information:
112
-
113
- Name 1:ayuri
114
-
115
- Height 1(cm):189
116
-
117
-
118
-
119
- もしくは
120
-
121
-
122
-
123
- Name 1:ayuri
124
-
125
- Height 1(cm):ayu
126
-
127
- Weight 1(kg):age 1:Name 2:Height 2(cm):ai
128
-
129
- Weight 2(kg):age 2:Name 3:Height 3(cm):ai
130
-
131
- Weight 3(kg):age 3:Average height: 0.0 cm.
132
-
133
- Average weight: 0.0 kg.
134
-
135
- Average age: 89481222.0 year(s) old.
136
-
137
-
138
-
139
- のようになり上手くいきません
51
+ これだとscanfが上手く作動しません