- ベストアンサー
答えを教えてください
「二つの整数値を読み込んで、 前者の値が後者の何%であるか表示する プログラムを作成せよ」 お願いします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
doubleを使わないなら (タイプミスも修正) void main() { int var1, var2; int per; printf("\n1個目=>"); scanf("%d", &var1); printf("\n2個目=>"); scanf("%d", &var2); per = (100 * var1) / var2; printf("\n<%d>は<%d>の<%d%>だってば!\n", var1, var2, per); }
その他の回答 (5)
- admiral_ya
- ベストアンサー率56% (110/193)
> printf("Aの値はBの%d%%です",n1%n2); ここまで出来ていれば、後はテキストを見れば、間違いが解ると思いますが...。 > はい本の課題なんですけど答えが載ってなくて・・・ という事なので、ヒントと注意点だけ。 ・% 演算子は、割合をパーセントで計算する演算子ではありません。 というか、C ではそのような演算子はありません。 よって、まず割合をパーセントで出す計算方法を考えて下さい。 ・演算の優先順位の関係で、 1/3*3 は 0 になります。同様に割合の計算も、これを考慮して、 * 計算の順序を変えるか * 変数は浮動小数点数を使う の対処が必要です。
補足
ご教授ありがとうございます 浮動小数点というのはdoubleですよね? それは使えないので 計算の順序を変えると言うのはどう言う 事でしょうか? よろしければご教授お願いします
Cでよければ、下記のような感じでいかがでしょう。 -------------------------- #include <stdio.h> void main(void) { int a, b; double x; printf("A="); scanf("%d", &a); printf("B="); scanf("%d", &b); x = (double)a / b; printf("%dは%dの%f%である", a, b,x); }
補足
これおかしくないですか? 確かに0.642857ですけど そのまま%で示していいんですか? 間違ってたらすいません
- magicalpass
- ベストアンサー率58% (378/648)
void main() { int val1, val2; double per; printf("\n1個目=>"); scanf("%d", &var1); printf("\n2個目=>"); scanf("%d", &var2); per = 100.0 * (double)var1 / (double)var2; printf("\n<%d>は<%d>>の<"%.2f>%だってば!\n", var1, var2, per); }
補足
ありがとうございます しかしdoubleは使わないんです
- gau_puzzler
- ベストアンサー率48% (39/81)
机上でやると考えた場合に どういう手順でやれば解答が出るのかをまず考えてみて下さい 何かの課題かなんかでしょうか? 解答まる写しではなんにもならないでしょ?
補足
はい本の課題なんですけど答えが載ってなくて・・・ それでプログラムをつくって前者には54 後者には84を入力すると64%になるはずなんですが54%に なってしまいます それがこれです↓ #include<stdio.h> int main (void) { int n1,n2; printf("二つの整数を入力してください\n"); printf("整数A:"); scanf("%d",&n1); printf("整数B:"); scanf("%d",&n2); printf("Aの値はBの%d%%です",n1%n2); return(0); }
- asuncion
- ベストアンサー率33% (2127/6289)
>答えを教えてください これはまたど真ん中の直球ですねw 質問者さんが「自分で」その問いに対する ソースコードを書けるようになるためなら、 サポートしてもかまいません。 が、単に「答えがほしい」という投げかけに対しては、 勝手ながらご遠慮申し上げます。
お礼
すいません 勝手でしたね 申し訳ありませんでした
お礼
できましたありがとうございました