質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

1回答

650閲覧

タワーの高さを求めるプログラミング

party_0621

総合スコア9

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2020/08/22 16:14

点Aと点Bからタワーを眺めた時、その時の仰角は25度と30度、AB間の距離dが50メートルであった。
タワーの高さを求めるプログラムを作りたいです。
どのように書いたらうまくできますか?
回答お願いします!イメージ説明

#include <stdio.h> #include <stdlib.h> #include <math.h> #define TORAD(x) (x*M_PI)/180.0 //角度を孤度(ラジアン)に変換 double sin(double x) { for(x = 1; x < 50; x++){ } } int main(void) { double y0, y1, x; double a0, a1, b1; double d = 50.0; double rad0, rad1; int yy0, yy1; //算出されたy0とy1を設定した桁数で比較するため rad0 = TORAD(25);//傾き25度をラジアンに変換 rad1 = TORAD(30); a0 = sin(rad0); //rad0 をsin関数に渡す a1 = sin(rad1); x = d; do{ y0 = a0 * x; //点Aを通る直線の式 y1 = a1 * x - 25; //点Bを通る直線の式 yy0 = (int) (1000 * y0 + 0.5); //小数点以下3桁目まで確認,小数点以下4桁を四捨五入 yy1 = (int) x += 1.0e-4; //0.0001(指数表現) m を xの値に加える }while( yy0 >= yy1 ); printf("タワーの高さは %5.3f mです.\n", y0); return 0; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

tan25 = h / x
tan30 = h / (x-50)

上の2式からxを消去すればよし。

投稿2020/08/22 18:07

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問