RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

Cで簡単プログラミング「二次関数の解」

投稿日:

C言語で簡単なプログラミングをしましょう!
今回は「二次関数の解」です。

↓Cはコンパイル(機械語に翻訳)が必要なので、以下でコンパイラの「MinGW」をインストールしてください。
C言語およびC++のコンパイラMinGWのインストールとテスト

二次関数の解を求める理由

理由は簡単です。
「物が落ちてくる秒数を予想できる」
「ある距離(高さ)まで飛ばすのにいくら力が必要かわかる」

「200mの高さから物体を落とすと何秒後に落ちる」がわかります!
暗算でできたらすごい!

コード

ファイル名は「2ji.c」にします。
コピー&ペーストではなく、自分で書くとGood!

/*--------------------------------------*/
// 2次方程式の解
/*--------------------------------------*/
#include <stdio.h>
#include <math.h>

int main()
{
	double a, b, c, d, x, x1, x2;
	
	// 係数読み込み
	printf("二次関数の係数a,b,cは?");
	scanf("%lf %lf %lf", &a, &b, &c);
	
	// 1次方程式の場合
	if(fabs(a) <= 1.0e-10)
	{
		if(fabs(b) <= 1.0e-10)
		{
			printf(" 解を求めることができません");
		}else{
			x = -c/b;
			printf(" x=%f\n", x);
		}
		
	}
	// 2次方程式の場合
	else{
		d = b*b-4.0*a*c;
		// 2実数
		if(d >= 0.0)
		{
			d = sqrt(d);
			x1 = 0.5*(-b-d)/a;
			x2 = 0.5*(-b+d)/a;
			printf(" x=%f %f\n", x1, x2);
		}
		// 虚数
		else{
			d = sqrt(-d);
			x1 = -0.5*b/a;
			x2 = 0.5*d/a;
			printf(" x=%f ± i%f", x1, x2);
		}
	}
	return 0;
}

結果、動き

コンパイルが成功すると以下のように表示されます。
コンパイル成功

いろいろと計算してみます。
適当になんでも好きなように!
計算してみる

「200mの高さから物体を落とすと何秒後に落ちる」答え
答え
約6.4秒後だそうです。
エレベーターが自由落下した時に使えるかもしれない無駄知識!

予想できるエラー

エラー1
In function main ”main”関数の中で、
12: error: stray ‘\129’ in program 12行目に”stray”(全角文字)があるよ!’\129’とかいう
12: error: syntax error before “G” “syntax”(構文)にエラーがあるよ!”G”の前に

文字コードエラー
文字コードエラーです。
「ShiftJis」に文字コードを変えてね!
文字コードって何?という方は→文字コードの基本と応用

-Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[Meisyo] 探索

これは何? 名将と呼ばれた者達の1機能である探索(2020年4月実装)について書いた記事です。 実装目的 1・別目的の追加練習を追加したい  これまでは選手の獲得・育成をメインにした追加練習しかなかっ …

ゲームアプリ運営の分析ノウハウ vol.3 この状態のアプリはやべえ編

はじめに 皆さんお久しぶりです。れいです。 近しい友人(アプリ運営を長年経験)が転職することになり、色々話してみましたがやべえ状態ってあるんやなと思ったので共有します。 これは…他山の石としてください …

[Meisyo]ビッグデータから学ぶ試合の基礎設計5

ここでは、「どのパラメータが打率等にどれくらい関係するのか」を理解することで強いチームを作る指針を記載しておきます。 [Meisyo]ビッグデータから学ぶ試合の基礎設計4の詳細版です。 今回は、右打と …

no image

PHPのコーディング規則、PSRのまとめ

「PHPのコーディング規則、PSRを学ぶ」(1)~(5)の集大成が完成しました。 PHPコーディング規則、PSRを学ぶで閲覧可能です。 正確を期していますが、誤りがあったらコメントをお願いします。m( …

no image

「1秒でも早く読者を離脱させる」 – まとめサイトの新たな挑戦

あなたがテレビでニュースを見るのはなぜでしょうか? 綺麗なアナウンサーを見るため?時間をつぶすため? 確かにそういう人もいるでしょう。 ただ、間違いのないことは、 あなたは「情報を得るために」ニュース …