C言語を少しずつですが勉強していて、最小値から最小値までの和を求めるのと、入力した数の2乗を求めるプログラムはわりと楽に完成したのですが、平方根を求めるというのができずに困っています。
プログラムの流れを説明すると、
1.どの処理を行うのか、数字+Enterで選択(平方根は、case 3です)
2.その処理を行う
3.結果の出力
です。
平方根の処理は、
scanfで実数を変数に代入→計算を行う関数を実行→結果を出力です。
症状としては、例えば4と入力して処理を実行すると、桁数のすごく大きい数が入力した数として処理され、また平方根も正しく求められていないようです。
(コンパイル時にエラーは出ていません)
No.4ベストアンサー
- 回答日時:
★最初に C ファイルをダウンロードするのが面倒。
貼り付けたら。・同じような処理を簡単なサンプルとして載せておく。
参考にして下さい。
サンプル:
#include <math.h>
#include <stdio.h>
int main( void )
{
double a;
// 入力
printf( "平方根の入力:" );
scanf( "%lf", &a );
// 出力
printf( "a=%f の平方根は %f です。\n", a, sqrt(a) );
return 0;
}
その他:
・main() 関数にある
>double zene,daikon; /* これは、平方根を求める */
↑
この2つの変数をグローバル変数にすれば動く気がしますけど。
あまりお勧めしません。
・関数には引数を取るようにしてはどうでしょうか?
あと戻り値も double 型を返すようにするとか。
// 関数のプロトタイプ宣言
double sabadaikon( double zene );
↑
関数名がおもしろいね。→魚と野菜を処理するの?
※処理が分かるような名前をつける事をお勧めします。
・以上。
貼り付けてしまうと、長くなってしまうかな、と思ったのでアップロードしましたが、貼り付けたほうがよいのですね。もし、また質問することがあれば(できればない方が良いのですが)そうしたいと思います。
関数名ですが、subとしたらエラー(もしかしたら他の所に問題があったのかも知れません)が出たので適当につけてしまいました。今度は処理がわかるようにしたいと思います。
No.5
- 回答日時:
そもそも、この程度なら関数分けしないことで、不具合は起こらなかったでしょう。
No.1
- 回答日時:
回答ではないのですが、このような問題が生じたら、入力した
値をそのまま出力してみることをお勧め致しますね。それで
何かが分かるかもしれません。
それから、プログラムは与えられた値をそのまま信じて処理する
ということは有得ません。PCには扱える値の範囲と言うものがあ
ります。それを超えた値が入力されたら、エラーではじかなければ
プログラムとは言えないでしょう。
そのような機能が必要であることを学ぶのもプログラミング学習
です。一般的には、このプログラムは仕様ミスと分類されるバグが
ある、ということになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Ruby プログラミングについてです。教えていただきたいです。 実行例のように、整数xが1から12までにつき、 2 2022/12/19 22:47
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Java Javaについて質問です。 勉強し始めたばかりの初心者です。 相続税について課税額を算出するコードを 1 2022/05/31 19:02
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# 3つの倍精度浮動小数点値の平均を求めて、3つの引数全てを平均値に変更するメソッドを作成し、キーボード 1 2022/07/13 16:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
win10で、正確な待ち時間の作り方
-
Excel VBAにて、2GB超の点群デ...
-
DoEvents関数って何?
-
Excel(VBA)でSetTimer関数を使...
-
SQLの速度をあげるには・・・
-
テキストファイルの空行をスキ...
-
プログラミングの授業でPython...
-
Excel VBA データ削除の高速化
-
偶数次魔方陣のプログラム
-
絶対パスの取得について
-
フォートランプログラムの計算...
-
GPUとCPUの違い
-
個人PCで並列計算ができるか?...
-
ヒストグラム平滑化について
-
エクセルVBAをマスターしたい
-
クリスタルレポートでの出力時...
-
C言語を用いたプログラムについ...
-
ExcelのVBAで再帰処理を使って...
-
If Not c Is Nothing Then ~延...
-
itunesのビットレートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでのセル内容の高速消去方法
-
DoEvents関数って何?
-
SQLの速度をあげるには・・・
-
小数点を含む数値かどうか判断...
-
win10で、正確な待ち時間の作り方
-
Excel(VBA)でSetTimer関数を使...
-
絶対パスの取得について
-
WebBrowserの読み込み待ちの処...
-
Excel VBAにて、2GB超の点群デ...
-
VBでの簡易電卓の作成(減算方...
-
テキストファイルの空行をスキ...
-
ノットイコールを教えて下さい
-
ナップザック問題?をエクセル...
-
If Not c Is Nothing Then ~延...
-
プログラム上のCPU稼働率低減に...
-
逆ポーランド記法における単項...
-
符号付きにすべきか、符号なし...
-
C言語 時刻差分の算出方法
-
C言語:関数を使うメリットとデ...
-
Excel VBA データ削除の高速化
おすすめ情報