• ベストアンサー

答えを教えてください

「二つの整数値を読み込んで、 前者の値が後者の何%であるか表示する プログラムを作成せよ」 お願いします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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); }

masato5639
質問者

お礼

できましたありがとうございました

その他の回答 (5)

回答No.5

> printf("Aの値はBの%d%%です",n1%n2); ここまで出来ていれば、後はテキストを見れば、間違いが解ると思いますが...。 > はい本の課題なんですけど答えが載ってなくて・・・ という事なので、ヒントと注意点だけ。 ・% 演算子は、割合をパーセントで計算する演算子ではありません。  というか、C ではそのような演算子はありません。  よって、まず割合をパーセントで出す計算方法を考えて下さい。 ・演算の優先順位の関係で、  1/3*3  は 0 になります。同様に割合の計算も、これを考慮して、   * 計算の順序を変えるか   * 変数は浮動小数点数を使う  の対処が必要です。

masato5639
質問者

補足

ご教授ありがとうございます 浮動小数点というのはdoubleですよね? それは使えないので 計算の順序を変えると言うのはどう言う 事でしょうか? よろしければご教授お願いします

noname#111181
noname#111181
回答No.4

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); }

masato5639
質問者

補足

これおかしくないですか? 確かに0.642857ですけど そのまま%で示していいんですか? 間違ってたらすいません

回答No.3

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); }

masato5639
質問者

補足

ありがとうございます しかしdoubleは使わないんです

回答No.2

机上でやると考えた場合に どういう手順でやれば解答が出るのかをまず考えてみて下さい 何かの課題かなんかでしょうか? 解答まる写しではなんにもならないでしょ?

masato5639
質問者

補足

はい本の課題なんですけど答えが載ってなくて・・・ それでプログラムをつくって前者には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)
回答No.1

>答えを教えてください これはまたど真ん中の直球ですねw 質問者さんが「自分で」その問いに対する ソースコードを書けるようになるためなら、 サポートしてもかまいません。 が、単に「答えがほしい」という投げかけに対しては、 勝手ながらご遠慮申し上げます。

masato5639
質問者

お礼

すいません 勝手でしたね 申し訳ありませんでした

関連するQ&A