質問編集履歴
2
目的の変更
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
実現したいことの変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
c言語 floatで
|
1
|
+
c言語 floatを二桁の整数で表示したい(1→01、10→10)
|
test
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
###前提・実現したいこと
|
2
|
+
|
3
|
+
float型を整数で表示させたい。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
[以下は解決済み]
|
2
14
|
|
3
15
|
数字で金額を入力し、それを英語に変換して表示したいです。
|
4
16
|
|
@@ -14,6 +26,22 @@
|
|
14
26
|
|
15
27
|
###発生している問題・エラーメッセージ
|
16
28
|
|
29
|
+
今日プロフェッサーに直接課題の事も聞けたのもあって、ほぼ完成しました。
|
30
|
+
|
31
|
+
ただ一番最後の " 00 Cents" と表示したいところだけが上手くいきません。
|
32
|
+
|
33
|
+
10以上の数字は問題ないのですが、一桁と1−9までが駄目です。
|
34
|
+
|
35
|
+
というのも、一桁の数字も01、02ー09と二桁で表示したいからです。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
[以下は解決済み]
|
44
|
+
|
17
45
|
floatで入力された数字をどのようにして、一つずつの数字としてピックアップすればいいのでしょうか?
|
18
46
|
|
19
47
|
そしてその数字を文字に変換する方法はどのようにするのでしょうか?
|
@@ -24,47 +52,49 @@
|
|
24
52
|
|
25
53
|
###ソースコード
|
26
54
|
|
55
|
+
だいぶ長いプログラムになってしまったのです、端折ります。。
|
56
|
+
|
57
|
+
|
58
|
+
|
27
59
|
#include <stdio.h>
|
28
60
|
|
29
61
|
|
30
62
|
|
31
63
|
int main( ) {
|
32
64
|
|
33
|
-
float monet
|
65
|
+
float money,fraction;
|
66
|
+
|
67
|
+
int whole,a,b,c,d;
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
printf("Enter a monetary value from $0.01 to $9999.99 inclusive: ");
|
72
|
+
|
73
|
+
scanf("%f",&money);
|
34
74
|
|
35
75
|
|
36
76
|
|
37
|
-
|
77
|
+
whole = (int)money;
|
38
78
|
|
39
|
-
|
79
|
+
fraction = (money - whole) * 100;
|
40
80
|
|
81
|
+
|
82
|
+
|
83
|
+
------端折ってます-----
|
84
|
+
|
85
|
+
if(fraction == 0){
|
86
|
+
|
87
|
+
printf("00 Cents\n");
|
88
|
+
|
89
|
+
}
|
90
|
+
|
91
|
+
else{
|
92
|
+
|
41
|
-
|
93
|
+
printf("%.f Cents\n",fraction);
|
42
94
|
|
43
95
|
|
44
96
|
|
45
|
-
ここに入力された数字を一つずつとるプログラムを書くのでしょうか?
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
if(monetary >= 0.01 || monetary <= 9999.99){
|
52
|
-
|
53
|
-
|
97
|
+
この"%.f"の部分をどうしたら、1を01と表示させることができますか??
|
54
|
-
|
55
|
-
}
|
56
|
-
|
57
|
-
else {
|
58
|
-
|
59
|
-
printf("Sorry, cannot create cheque for that amount, try again next time!\n");
|
60
|
-
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
return 0;
|
66
|
-
|
67
|
-
}
|
68
98
|
|
69
99
|
|
70
100
|
|