小数点以下の出力
Q&A
解決したいこと
整数値と平均値の差を小数点以下1桁まで出力したいです。エラーにはなりませんが警告が出てしまいます。
出力された結果も正しい数字ではありません。いろいろ試してみましたが、解決できません。解決方法を教えてください。
発生している問題・エラー
%dで整数を出力すると整数として正しい結果が出ますが、%1fで小数点以下の結果を出力しようとすると、0.0と0が並ぶ違う数値が出力されてしまいます。
該当するソースコード
ソースコードを入力
#include <stdio.h>
int main() {
int n[5],i, sum;
scanf("%d", &n[0]);
scanf("%d", &n[1]);
scanf("%d", &n[2]);
scanf("%d", &n[3]);
scanf("%d", &n[4]);
sum = 0;
for(i=0; i<5; i++){
sum += n[i];
}
printf("%d\n", sum/5);
printf("%d:%d\n", n[0],n[0]-sum/5);
printf("%d:%d\n", n[1],n[1]-sum/5);
printf("%d:%d\n", n[2],n[2]-sum/5);
printf("%d:%d\n", n[3],n[3]-sum/5);
printf("%d:%d\n", n[4],n[4]-sum/5);
return 0;
}
### 自分で試したこと
整数値では正しい結果が出る
printf("%d\n", sum/5);
printf"%d:%d\n", n[0],n[0]-sum/5);
・・・
を小数点以下1桁の出力にするため
printf("%1f\n", sum/5);
printf("%1f:%d\n", n[0],n[0]-sum/5);
・・・
としてみました。
0