
金額kinを入力し、札の枚数をカウントして、実行結果のように表示するプログラムを作成せよ。
なお、1万円札、5千円札、千円札の枚数の変数名はそれぞれ、man、go、senである。
実行結果
金額を入力してください:89000
1万円札:8枚
5千円札:1枚
千円札:4枚
#include <stdio.h>
int main(void)
{
int kin,man,go,sen;
printf("金額を入力してください:");
scanf("%d"&kin);
man=kin/10000;
go=kin/5000;
sen=kin/1000;
printf("1万円札:%d枚\n5千円札:%d枚\n千円札:%d枚\n",man,go,sen);
return(0);
}
このような感じで作成してみたのですが、うまく作動しません。
ちなみにこの課題は空欄を埋めるものです。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
そりゃ無理。
実際に数字を入れて計算過程を確認してみよう。
man=89000÷10000
go=89000÷5000
sen=89000÷1000
って計算してるよね。おかしいだろ?
どんな計算をすれば良いのかを、ここで考えるんだ。
それが出来ていないのです。
質問者さんは計算式だけを教えて欲しいと思っていらっしゃるようですが、
それではプログラムを作ることはできません。
原因が分かれば自分で修正できるようになります。
がんばれ。
自分で作れなければ、
「分かりません」
と答えるのもアリだ。
No.3
- 回答日時:
> sen=kin/1000に関してですが、man、goと同様にkin%=1000とする必要はないのですか?
「必要と思えば」やれば良いです。
ただし、提示された問題に関して言うと、「札束」だけが問題であって、現実世界でそれ以下に存在してる「筈」の硬貨に関しては何も書かれていません。
つまり、言外に、入力は札束だけで表現出来る金額だけにせよ、って言ってるのと同じなんですよ。
こういうのを「仕様(Specification)」と言います。貴方が親切に
「硬貨も考えないと・・・!」
と考えるのは自由なんですが、一応プログラミングの、ある種「マナー」としては
「わざわざ仕様外の事柄は好き好んで実装しない」
んです。つまり、この問題の場合、500円硬貨を入力されてもそれに対しては何もせんで構わないわけです。
これをバグと考えるかどうか、ってのは人に依りますが、言い換えると、この問題の指示自体に「硬貨を考えない」と言うバグが存在する、って事ですね。
No.2
- 回答日時:
#include <stdio.h>
int main(void)
{
int kin, man, go, sen;
printf("金額を入力してください:");
scanf("%d", &kin);
man = kin/10000;
kin %= 10000; /* 剰余演算子を使って kin を定義しなおす */
go = kin/5000;
kin %= 5000; /* 剰余演算子を使って kin を定義しなおす */
sen = kin/1000;
printf("1万円札:%d枚\n5千円札:%d枚\n千円札:%d枚\n", man, go, sen);
return (0);
}
No.1
- 回答日時:
#include <stdio.h>
int main(void)
{
int kin, man, go, sen;
printf("金額を入力してください:");
scanf("%d", &kin);
man = kin/10000;
kin %= 10000; /* 剰余演算子を使って kin を定義しなおす */
go = kin/5000;
kin %= 5000; /* 剰余演算子を使って kin を定義しなおす */
sen = kin/1000;
printf("1万円札:%d枚\n5千円札:%d枚\n千円札:%d枚\n", man, go, sen);
return (0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラーについて
-
H8マイコンCでprintf/scanfが使...
-
「%n」や「%S」は何故恥ずかし...
-
C言語プログラミング
-
C言語の勉強しています。すみま...
-
C言語で四則演算を使って10を作...
-
ピラミッド表示プログラム。
-
ホームページをC言語で作りたい...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
-
VB6.0での小数点の扱いについて
-
【C++】関数ポインタの使い方
-
c languageで 簡単な質問があ...
-
ある商品のロス率を5%見込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
Cプログラムについて
-
コマンドラインに出力した文字...
-
WM_CLOSEで閉じれないウィンド...
-
C言語の&に関する質問
-
すごろくに使用するサイコロ
-
文字と数字の判定について
-
printf( " %2d", p * q );
-
【C言語教えてください】sin波...
-
%P と %X の違い
-
C言語の勉強しています。すみま...
-
strcmp
-
c言語でAからZまでを表示する...
-
unsigned int型について
-
(C言語)めちゃくちゃな値にな...
-
printf で二進表示を行いたい。
-
プログラミング C言語 課題でプ...
-
c言語で2000年以降カレンダーを...
おすすめ情報
なるほど、、
sen=kin/1000に関してですが、man、goと同様にkin%=1000とする必要はないのですか?