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

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

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

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

Q&A

解決済

3回答

2062閲覧

整数値と小数点以下1桁を出力したいのですが全て、小数点以下1桁になってしまいます。

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

0グッド

0クリップ

投稿2021/05/02 13:24

実現したいのはまず、5つの整数値の平均値を表示し、それぞれの整数値ごとに整数値:整数値ー平均値を表示したい。
現状ですと、全て小数点以下1桁表示になってしまいます。

c言語

1#include <stdio.h> 2 3int main(void) { 4 double a,b,c,d,e, sum; 5 6 7 scanf("%lf", &a); 8 scanf("%lf", &b); 9 scanf("%lf", &c); 10 scanf("%lf", &d); 11 scanf("%lf", &e); 12 13 sum = a+b+c+d+e; 14 15 16 17 printf("%.1f\n", sum/5); 18 printf("%.1f:%.1f\n", a,a-sum/5); 19 printf("%.1f:%.1f\n", b,b-sum/5); 20 printf("%.1f:%.1f\n", c,c-sum/5); 21 printf("%.1f:%.1f\n", d,d-sum/5); 22 printf("%.1f:%.1f\n", e,e-sum/5); 23 return 0; 24}

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

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

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

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

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

guest

回答3

0

"%.1f\n"

イチとエルを間違えていませんか?

投稿2021/05/02 13:26

episteme

総合スコア16612

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

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

退会済みユーザー

退会済みユーザー

2021/05/02 13:36

.1になっています。
guest

0

5つの整数値に.0をつけずに表示したいということ?

C

1 printf("%.0f:%.1f\n", a, a - sum / 5); 2 printf("%.0f:%.1f\n", b, b - sum / 5); 3 printf("%.0f:%.1f\n", c, c - sum / 5); 4 printf("%.0f:%.1f\n", d, d - sum / 5); 5 printf("%.0f:%.1f\n", e, e - sum / 5);

もしくはa,b,c,d,eintにしてscanfprintfの書式を%dになおすか。

投稿2021/05/02 13:55

SHOMI

総合スコア4079

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

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

退会済みユーザー

退会済みユーザー

2021/05/02 14:07

ありがとうございました。おかげさまで解決しました。
SHOMI

2021/05/02 15:13

ベストアンサーの変更ってできませんでしたっけ?
guest

0

ベストアンサー

すべて小数点以下1位の出力指定のフォーマット文字列となっているため、全て小数点以下1位になるのはアタリマエですね.

投稿2021/05/02 13:31

編集2021/05/02 21:54
y_waiwai

総合スコア88042

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

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

退会済みユーザー

退会済みユーザー

2021/05/02 13:34

これを%dに変更するとおかしな結果が出てしまうので、どのように修正したら良いのか手がつけられません。
退会済みユーザー

退会済みユーザー

2021/05/02 13:43

間違えて、解決ずみにしてしまいました。引き続きお願いいたします。
y_waiwai

2021/05/02 21:57

解決済も修正できます 整数表示したいなら、%dにして、引数をintでキャストしましょう printf("%d:%.1f\n", (int)a,a-sum/5);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問