ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3993639 C言語の演習2
質問者:hhh1989012 何度も似たような質問を出していますがよろしくお願いします。。。
問題は
2つの整数を入力してください。
整数A:54
整数B:84
Aの値はBの64.285714%です。
というものです。あっているか確認お願いします。

#include<stdio.h>
int main(void)
{
int vx, vy;
puts("2つの整数を入力してください。");
printf("整数A"); scanf("%lf",&vx");
printf("整数B"); scanf("%lf",&vy");
printf("Aの値はbの%f%です。/n",(double)(vx/vy));
return 0;
}
であっていますか??お願いします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/05/03 00:57
この質問に対する回答は締め切られました。
最新から表示回答順に表示

回答

ANo.4 > あっているか確認お願いします。

残念ですが、合っていません。

> int vx, vy;

「scanf("%lf", &vx);」としたいのであれば

double xv, vy;

と宣言するべきです。

> printf("整数A"); scanf("%lf",&vx");
> printf("整数B"); scanf("%lf",&vy");

既に他のお方からの回答がありますが「"」は不要です。

printf("整数A"); scanf("%lf", &vx);
printf("整数B"); scanf("%lf", &vy);

とするべきです。

「int vx, vy;」と宣言をしたのであれば

printf("整数A"); scanf("%d", &vx);
printf("整数B"); scanf("%d", &vy);

とするべきです。

#「整数A」や「整数B」としているなら int(integer) として取得して
# 計算時に他の型へキャストするのも手法のひとつでしょう。

> printf("Aの値はbの%f%です。/n",(double)(vx/vy));

「%f%」ではなく「%f」か「%lf」、「/n」ではなく「\n」です。
(これらは記述ミスでしょうけれど)
また「int vx, vy;」と宣言されていたものであり、代入が想定される
値では 0 が返ることでしょう。
「(double)」としてキャストするのであれば vx か vy に対してするべきです。

既に同じ他の方からも回答がありますが、コンパイラを入手して
コンパイルして実行すれば動作確認ができます。

※ これは GCC (Windows であれば Cygwin, MinGW 等) の場合です。
例えば
gcc -Wall -o execfile sourcefile.c
として、コンパイル時の警告やエラーがでなければ
./execfile
として実行する。

gcc の引数やオプションは man gcc や gcc --help で調べたり、他の
コンパイラを使うのであれば、それについて調べることをお薦めします。
コンパイル時の警告やエラーの意味も理解する必要がありますが……。

無料で使える各種コンパイラや、それらを使ったコンパイル方法についても
検索すればいくらでも出てきます。

また、この質問サイト(okwave または提携サイト)の過去の質問からも
検索すれば出てきます。

自力でソースを書いたのであれば、書籍等を入手済みと思われますが
投稿なさったソースを見る限りでは int や double 等の型、変換指定
文字列の %d や %f 等、エスケープシーケンスの \n 等の基礎的なことを
詳しく勉強されたほうがよろしいかと思われます。

そして今後ご質問される場合は OS やコンパイラ等の環境も書くことを
お薦めします。(そのほうが質問者と回答者の双方が幸せになれます)

# この「C言語の演習」とは、勉強をなさっておられるのですよね?
# 一から十まで書き記すことはこのカテゴリで回答されている方々には
# 容易なことですが、なぜそうしないのかを考えてみて頂けませんか?
# もし大学の課題であれば自力で調べる力を養うための課題でもあるの
# ではないのでしょうか? 一から十までを手取り足取り教えてくれるのは
# 義務教育や高校ぐらいまでではないでしょうか?
# 回答に全てを書き記すのは、あなたにとって一時凌ぎにはなるのかも
# 知れませんが、本当に勉強する場合には向かないことかと思われます。
# キーワードから自力で情報収集して自己解決する知恵も必要なのです。
回答者:x415f484f
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/03 07:57
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.3 > コンパイラのフリーのダウンロードできるのでなにかいいものがあったらお願いします
これも検索すれば出てきますが、現時点では Borland C++ Compiler 5.5 が定番。
回答者:tokichim
種類:回答
どんな人:経験者
自信:自信あり
回答日時:
08/05/03 04:03
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.2 > コンパイルとはなんでしょうか??

オウム返しに聞くのではなく、検索くらいしてみましょう。
http://www.google.co.jp/search?hl=ja&q=C%E8%A8%80%E8%AA%9E+%E3%...

> ダウンロードできますか??

コンパイラのダウンロードですかね?
UNIX系列なら最初から入っているでしょう。
Windowsでも無料で使えるフリーなコンパイラはあります。(ユーザ登録が必要な場合もありますが)

で、掲示されたコードでは…おそらく推定通りには動作しないでしょう。
scanf("%lf",&vx");

scanf("%lf",&vy");
の記述がおかしいです。
ついでに百分率の計算方法も間違っています。
回答者:Wr5
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/03 01:52
この回答への補足scanf("%lf",&vx");とscanf("%lf",&vy");はscanf("%lf",&vx);とscanf("%lf",&vy);でよいでしょうか??
はい百分率の計算方法はことらの入力ミスでした。100かければいいんですよね??

コンパイラのフリーのダウンロードできるのでなにかいいものがあったらお願いします
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1  コンパイル、実行して期待通りの結果になれば、合ってる。
そうでなければ間違ってる。
回答者:yaemon_2006
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
08/05/03 01:13
この回答への補足コンパイルとはなんでしょうか??
ダウンロードできますか??
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示