質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

3回答

694閲覧

数字が思ったところに表示されません

OHASI

総合スコア97

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2020/07/08 15:07

<実行結果>
学生 1 の体重(kg)と身長(cm)を入力(カンマ区切り):55, 167.01
学生 2 の体重(kg)と身長(cm)を入力(カンマ区切り):90, 180.5
学生 3 の体重(kg)と身長(cm)を入力(カンマ区切り):75.3, 178
学生たちの合計体重は 220.3kg,合計身長は 525.5cm です.

と出力したいのですが

(( 合計体重は525.5kg,合計身長は0.0cmです。 ))

と出力されてしまいます。どこが間違っているのでしょうか。
よろしくお願いします。

C言語

1#include<stdio.h> 2 3int main(void) 4 5{ 6int i,j; 7float taizyu=0.0 ,sintyo=0.0; 8float gakusei [3][2]; 9 10 for(i=0;i<3;i++) 11 { 12 for(j=0;j<1;j++) 13 { 14 printf("学生%dの体重(㎏)と身長(㎝)を入力(カンマ区切り): ",i+1); 15 scanf("%f,%f",&gakusei[i][j] ,&gakusei[i][j]); 16 } 17 } 18 for(i=0;i<3;i++) 19 { 20 taizyu += gakusei[i][0]; 21 sintyo += gakusei[i][1]; 22 } 23 printf("学生たちの合計体重は%.1fkg,合計身長は%.1fcmです。",taizyu ,sintyo); 24return 0; 25}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

他の方の指摘に有りますが、それ以外でおかしい所。
for(j=0;j<1;j++)→for(j=0;j<2;j++)・・・jは0の時しか実行されない。

投稿2020/07/08 21:40

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2020/07/08 22:26

プロチョン(ケアレスミス)は誰にでも有ります。確認する事を、忘れないように・・・
OHASI

2020/07/09 02:26

ありがとうございました。
guest

0

変数の中身を出力してデバッグしてみるとよいでしょう。Visual Studio など IDE を使っているのならデバッグ実行機能を使いましょう。
あと読みづらいのでインデントは正しく、空白も適宜入れて欲しい。C# 式の {} の使い方をしているので、C で書くなら C に合わせて欲しいとも思います。

c

1#include<stdio.h> 2 3int main(void) { 4 int i, j; 5 float taizyu = 0.0, sintyo = 0.0; 6 float gakusei[3][2]; 7 8 for (i = 0; i < 3; i++) { 9 printf("学生%dの体重(㎏)と身長(㎝)を入力(カンマ区切り): ", i + 1); 10 scanf("%f,%f", &gakusei[i][0], &gakusei[i][1]); 11 } 12 13 // 変数の中身を出力してみるとよいでしょう 14 printf("\n"); 15 for (i = 0; i < 3; i++) { 16 for (j = 0; j < 2; j++) { 17 printf("%f, ", gakusei[i][j]); 18 } 19 printf("\n"); 20 } 21 22 for (i = 0; i < 3; i++) { 23 taizyu += gakusei[i][0]; 24 sintyo += gakusei[i][1]; 25 } 26 27 printf("学生たちの合計体重は%.1fkg,合計身長は%.1fcmです。", taizyu, sintyo); 28 return 0; 29}

投稿2020/07/08 15:56

編集2020/07/08 22:40
bboydaisuke

総合スコア5308

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OHASI

2020/07/09 02:26

ありがとうございました。
guest

0

c

scanf("%f,%f",&gakusei[i][j] ,&gakusei[i][j]);
`j` の値が `0` のとき、身長も体重も両方とも `gakusei[i][0]` に代入されますよ。

投稿2020/07/08 15:43

編集2020/07/08 15:44
shiracamus

総合スコア5406

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OHASI

2020/07/09 02:27

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問