C言語初心者です。計算がうまく出来ず困っています。
「苦しんで覚えるC言語」というサイトに載っている以下の問題を解きたいのですが、プログラムにエラーは出ないものの正常な結果が出ません。
定価を入力すると、1割引、3割引、5割引、8割引の値段を一覧表示するプログラムを作成せよ。
なお、結果の金額は整数値での表示が望ましいが、実数でもかまわない。
私は以下のようにプログラムを書いたのですが、実行して数値を入力すると、「0 ,0 ,0 ,0」と表示されてしまいます。
#include <stdio.h>
int main(void)
{
int price,one,three,five,eight;
scanf("%d",&price); /* 入力部分 */
one = price*0,9;
three = price*0,7;
five = price*0,5;
eight = price*0,2;
printf("%d ,%d ,%d ,%d \n",one,three,five,eight);
return 0;
}
サイトでの解答は以下のようになっており、解答の他にも、変数を使用して書いても良いとあります。
#include <stdio.h>
int main(void)
{
int price;
printf("定価を入力して下さい : ");
scanf("%d",&price);
printf("1割引 = %d円\n",(int)(price * 0.9));
printf("3割引 = %d円\n",(int)(price * 0.7));
printf("5割引 = %d円\n",(int)(price * 0.5));
printf("8割引 = %d円\n",(int)(price * 0.2));
return 0;
}
これより前の内容を復習したり、調べたりもしたのですが、自分ではどこに間違いがあるのか見つけられませんでした。非常に初歩的な内容で恐縮ですが、助言をお願いします。