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

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

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

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

2回答

2029閲覧

関数の呼び出し 問題文の意味を理解したい

tikuno

総合スコア18

C

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

1クリップ

投稿2020/07/03 14:52

(1)を解いた後(2)を解くにあたり、(2)の問題文に書かれている「dist() を呼び出して、」「dist() は(1) の関数 diag_len() を呼び出して」のつながりがいまいちピンときません。詳しく教えてもらえると助かります。問題文は以下の通りです。


(1)2つのdouble型変数x,yを引数として√(x^2 + y^2) の値を返す関数double diag_len(double, double) を作成し、キーボードから入力した 2 つの小数に対して diag_len() を呼び出して、その戻 り値を表示するプログラムを作成せよ。

#include<stdio.h> #include<math.h> double diag_len(double x,double y){ return pow((x*x)+(y*y),0.5); } int main(void) { double x,y; printf("x="); scanf("%lf",&x); printf("y="); scanf("%lf",&y); printf("%lf\n",diag_len(x,y)); return 0; }

(2)4 つの double 型変数 x0,y0,x1,y1 を引数として、平面上の 2 点 (x0,y0),(x1,y1) の間の距離 を返す関数 double dist(double, double, double, double) を作成し、キーボードから 入力した 4 つの小数 x0,y0,x1,y1 に対して dist() を呼び出して、その戻り値が 2 未満なら ば ”Close”, 2 以上 10 未満ならば ”Normal”, 10 以上ならば ”Far” と画面に表示するプログ ラムを作成せよ。ここで、dist() は(1) の関数 diag_len() を呼び出して距離を計算する ものとする。

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

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

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

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

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

guest

回答2

0

三平方の定理(中学3年生の数学)を使うようにとの指示です。
「三平方の定理」で最も重要なポイントとは?

投稿2020/07/04 01:39

sage

総合スコア1216

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

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

0

ベストアンサー

dist関数は、diag_len関数を使用して実装する、ということです。

まずは、dist関数を関数をつかわないで実装してはどうでしょう。
なにかわかるかもしれません。

投稿2020/07/03 15:00

y_waiwai

総合スコア87719

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

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

tikuno

2020/07/04 08:09

つまりこういうことですか? #include<stdio.h> #include<math.h> double diag_len(double x0,double y0,double x1,double y1){ return pow((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1),0.5); } int main(void) { double x0,y0,x1,y1; printf("x0="); scanf("%lf",&x0); printf("y0="); scanf("%lf",&y0); printf("x1="); scanf("%lf",&x1); printf("y1="); scanf("%lf",&y1); printf("%lf\n",diag_len(x0,y0,x1,y1)); if(diag_len(x0,y0,x1,y1)<2.0)printf("Close\n"); else if(diag_len(x0,y0,x1,y1)<10)printf("Normal\n"); else printf("Far\n"); return 0; }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問