![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
1.(a*b)/(a+b)の計算をさせたいのです。ふつうに変数は代入される方法でいいです。
#include <stdio.h>
main()
{
double a,b
S=(a*b)/(a+b)
printf ("%f\n",S)
}
上記のプログラムでできますか?間違いならば修正・訂正をお願いします。
2.整数の変数aに2.147.483.647をいれ、1を加えるとどうなるか?
実数の変数dに、
d=1/2とするとどうなるか?
d=1.0/2とするとどうなるか?
実数の変数d1,d2,d3に対して、
d3=d1-d2を計算するとどうなるか?
出力は、「%22.16g-%22.16g=%22.16g」の書式で、d1,d2,d3を出力しましょう。
d1 | d2
0.1 | 0.01
1.0 | 1.0000000000000 (0は14個)
1.0 | 0.00000000000000001 (0は16個)
上記のようなプログラムでOKです。教えて下さい。
No.3ベストアンサー
- 回答日時:
1.
double a,b,S ; // 最後のセミコロンがありませんし、Sが定義されていません。
// ここに a = xx ;やb = xx ;といった代入が無いとエラーになります。
S=(a*b)/(a+b); // ここもセミコロンがありませんしSが定義されていません。
printf("%f\n",S) // ここもセミコロンがありません。また\は\だと理解していると思います。
2.
整数の変数aに2,147,483,647をいれ、1を加えるとどうなるかという事でしょうか?
整数と言うとint型ですか、long型ですか。
恐らく指定している数値からlong型だとして、1を加えるとオーバーフローして、-2147483648になる場合もありますが、オーバーフローしているので正しいとは言えませんね。
dはdouble型だとして
d=1/2とするとd=0です。
なぜかと言うと、1や2はint型となり、intとして計算してdに代入してしまします。
d=1.0/2とするとd=0.5です。
これは1.0がdouble型で、2がint型であったとしてもdouble型として計算します。
include <stdio.h>
main()
{
double d1,d2,d3 ;
d1 = 0.1 ;
d2 = 0.001 ;
d3 = d1-d2 ;
printf("%22.16g-%22.16g=%22.16g\n",d1,d2,d3);
d1 = 1.0 ;
d2 = 1.00000000000000 ;
d3 = d1-d2 ;
printf("%22.16g-%22.16g=%22.16g\n",d1,d2,d3);
d1 = 1.0 ;
d2 = 0.00000000000000001 ;
d3 = d1-d2 ;
printf("%22.16g-%22.16g=%22.16g\n",d1,d2,d3);
}
この回答への補足
ご回答ありがとうございます。
差し支えなければ、
この補足に回答をお願い致します。
「あなたは、どうやってプログラムを考えて作成をし、また、何故、間違っている点が分かり、それをデバック・修正することができるのですか?」
No.7
- 回答日時:
>「あなたは、どうやってプログラムを考えて作成をし、また、何故、間違っている点が分かり、それをデバック・修正することができるのですか?」
まずはプログラム言語の仕様をしっかり覚える事です。
今回の問題で一番目立ったのは式の最後のセミコロン(;)が抜けている事です。これはC言語でのルールですので、ルールを守れなければ正常に動作しないという事ですね。
次に、いきなりコーディングするのでは無く、フローチャートを書いて、問題が無ければコーディングという風にした方がいいでしょう。
但し、今回の様な問題は条件付き分岐といった事は一切なく、上から下へ流れるだけのプログラムに理由はいらないと思います。
これが出来ないのは、ルールを知らないからですね。
では、私はどの様にプログラムを考えているのかというと、昔はよく考えながらやっていたのですが、今は特に考えなくて出来てしまっているというのが現状です。恐らく、ルールが身に付いてしまっているのでしょう。
とにかくルール(仕様)を覚え、たくさんのプログラムを見て、たくさんのプログラムを作る事です。
なぜ、間違いを修正出来るのかですが、私も初心者の頃はたくさん間違いを起こして、コンパイラがエラーを吐いて一つずつエラーの意味を調べ、修正してという事を繰り返しやってきました。
貴方も無意識に日本語をしゃべったり、読んだり、書いたり出来るでしょう。
使い慣れない単語を使ったりすると使い方を間違えたりするのと同じです。
とにかく習うより慣れろです。
がんばってください。
この回答への補足
「とにかく習うより慣れろです。 」良き言葉をいただきました。ありがとうございます。しかし、何かと基本から考える方法・手順等が分からず・・・とまどったりしますが、またよろしくお願い致します。
補足日時:2003/05/13 00:01No.6
- 回答日時:
> 「あなたは、どうやってプログラムを考えて作成をしますか? 考え方・過程を教えて下さい。
(例えば今回のプログラム・・・)」定石に従います。
今回のプログラムでは、考えることは何もありません。
計算し表示する、それだけです。
No.5
- 回答日時:
Cコンパイラをお持ちでないのであれば、フリーのBorland C++ Compiler 5.5を使ってみると良いかもしれませんね。
参考URL:http://www.borland.co.jp/cppbuilder/freecompiler/
この回答への補足
教えて頂きまして、ありがとうございました。
早速コンパイラの方、DLしましたよ。
arukamun 様の他の回答に対して補足を
加えました。良かったらよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 【 数I 二次方程式の実数解 】 問題 ※写真の(2) 解答 いずれか一方のみが実数解を持つため に 1 2022/06/25 17:36
- 数学 数1 この問題の(3)で少なくとも一方が実数解をもつ。のとき①②の式をそれぞれD1,D2とした時D1 5 2023/08/01 01:46
- Excel(エクセル) EXCEL 行内のデータを2行に分けて、表を作り直したいのです。教えてください。 5 2023/06/25 14:00
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) エクセル VBA 条件付き書式 簡略化したい 2 2022/06/02 17:46
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Excel(エクセル) 【Excel】複数列ごとに取得するセルを変更したい 2 2023/03/23 21:04
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【JAVA】数字をひし形に出力す...
-
JCLの基本について教えてください
-
素数を探すプログラム…。
-
変数の値が勝手に変化する原因
-
3つの整数のうち奇数のみを表示...
-
65536は2の何乗なのでしょうか?
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
VBAにてメール作成した際、一部...
-
あるプログラムのコマンドライ...
-
VBAで仕様書は書きますか?
-
期間重複チェックがわかりません
-
正しい五十音順について
-
C++ で、「)」が必要 というエ...
-
Google カレンダーの商用利用
-
PICマイコンのコピー(クローン...
-
C++でアボート(Abort)で処理が...
-
ルービックキューブの解法プロ...
-
Excelに埋め込んだVBAのプログ...
-
C言語についてです。 再帰を使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
【JAVA】数字をひし形に出力す...
-
JCLの基本について教えてください
-
360度を超える角度
-
ProC 固定SQLでNULLってどう表...
-
Fortran90についての質問です。
-
fortran if文
-
3つの整数のうち奇数のみを表示...
-
ruby for文
-
Matlabについて質問2
-
c言語のプログラミング 2つの整...
-
プログラミング(自由課題)
-
C言語 バッファについて。
-
COBOLのピリオド
-
不具合が発生(API・C言語)
-
main関数終了時のreturnの意味は?
-
ロトカ=ヴォルテラ方程式 をC...
-
ループのとめ方
-
プログラミング
-
C言語の質問です。
おすすめ情報