#include <stdio.h>
main()
{
int n, count, c;
int d = 50000;
printf("整数を入力:");
scanf("%d",&n);
for(count = 1; count <= n; count++){
c = d * (16 / 100);
d += c;
}
printf("%d回目の数はは%dです\n",n,d);
}
というプログラムを作ったのですが、for文のところが実行されずに、
1回目ならば58000となるはずなのに初期値のまま50000と表示されてしまいます。
どなたかご指摘お願いします。
No.4ベストアンサー
- 回答日時:
C言語の式とは、数学の式に似ていますが別物です。
整数÷整数 の計算なら、
数学なら正確な結果として有理数が得られますが、
C言語の場合は、結果を整数とするために端数切り捨ての近似値となります。
つまり
c = d * (16/100)
は
c = d * 0
と同義なので、何度ループしても値が変わらないわけです。
以下の様に記載することをオススメします。
c = d * 16 / 100; ← 除算を最後にする
c = (int)(d * (16/100f)); ← 整数から実数にして整数に戻す
近代的なスクリプト言語を使っていると犯しがちな間違いですのでご注意ください。
No.3
- 回答日時:
>c = d * (16 / 100);
これはすべてint型で計算されています。
すると計算結果がどうなるか?
(16 / 100)をint型に代入して値を確認してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C言語 3 2022/10/04 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を使って魔方陣
-
C言語の二分法のプログラムにつ...
-
構文エラー";"が型の前にあり...
-
初心者です。for文、if文を使っ...
-
for文の中にswitch文はいれられ...
-
C言語 数字以外を入力させない...
-
#if 1 #elseの意味について
-
scanf関数を用いての加減乗除%...
-
c言語の問題
-
配列を関数に渡す方法
-
C言語プログラムが理解できなくて…
-
VHDLで、case文とwhen文のどち...
-
getcの改行判定
-
C言語でfor文を用いたプログラ...
-
c言語プログラミングで1から100...
-
c言語のプログラムで
-
scanfが実行されません
-
直角三角形を表示するプログラム
-
C言語のプログラミング (基礎...
-
for文を使用して値を代入したい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#if 1 #elseの意味について
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
計算結果がlong型以上になる場...
-
プログラミングで二番目に大き...
-
scanf関数を用いての加減乗除%...
-
getcの改行判定
-
C言語で電卓を作成する。
-
配列を使って魔方陣
-
C言語で勉強中(max,min)の出し方
-
C言語階乗の総和を求める
-
VHDLで、case文とwhen文のどち...
-
C言語でのトランプシャッフルに...
-
プログラム
-
while文について、c言語...
-
OpenCVを用いて任意の時間で静...
-
scanfが実行されません
-
C言語 数字以外を入力させない...
-
C言語です
おすすめ情報