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

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

新規登録して質問してみよう
ただいま回答率
85.40%
Curl(プログラミング言語)

Curl(プログラミング言語)は、Webコンテンツ向けのプログラミング言語。HTMLのようなテキスト記述やレイアウトデザイン、JavaScript のようなオブジェクト指向プログラム言語、Java のような重量機能など複数の言語の特徴を一つのフレームワークに統合しています。

Q&A

1回答

366閲覧

四角錐の体積を求めたいです。

juicy77oisiiri5

総合スコア1

Curl(プログラミング言語)

Curl(プログラミング言語)は、Webコンテンツ向けのプログラミング言語。HTMLのようなテキスト記述やレイアウトデザイン、JavaScript のようなオブジェクト指向プログラム言語、Java のような重量機能など複数の言語の特徴を一つのフレームワークに統合しています。

0グッド

0クリップ

投稿2023/07/07 07:55

編集2023/07/07 11:50

四角錐の体積を求めるプログラミング(下の写真とコメントの通りです)を組んでみたのですが、実行結果が0になってしまいます。
どこがおかしいのかわかりません。
わかる方がいましたら、教えていただきたいです。

イメージ説明

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

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

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

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

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

juicy77oisiiri5

2023/07/07 08:19

すみません。 写真のようにプログラミングを組んでみて、試してみたのですが、体積表示の部分が0になってしまいます。
y_waiwai

2023/07/07 09:00

コードは画像じゃなく、テキストで提示しましょう
juicy77oisiiri5

2023/07/07 11:33

そうなんですね!すみません。 #include<stdio. h> double Pyramid (a, b, h) : int main (void) { double a = 5.1, b = 3.5, h=7.8;//a:底辺の高さa b:底辺の高さh:高さ printf(“底辺aの長さ%.1fcm.底辺の長さ%.1fcm高さ%.1fcm¥n”,a,b,h); printf(“この四角錐の体積は%. 2fcm^3¥n”, Pyramid (a,b,h); return 0: } double Pyramid (a, b, h) { return a * b * h / 3 .0 } という感じです。 よろしくお願いします。
hoshi-takanori

2023/07/11 16:32

引数の型が指定されてないのが気になりますね。
guest

回答1

0

コンパイルしてみると警告が出ているのが分かります。
C言語の歴史的経緯から引数の型を省略するとintとみなされます。

gcc -Wall -o test20230901 test20230901.c test20230901.c:3:1: warning: parameter names (without types) in function declaration 3 | double Pyramid(a, b, h); | ^~~~~~ test20230901.c: In function ‘Pyramid’: test20230901.c:15:8: warning: type of ‘a’ defaults to ‘int’ [-Wimplicit-int] 15 | double Pyramid (a, b, h) | ^~~~~~~ test20230901.c:15:8: warning: type of ‘b’ defaults to ‘int’ [-Wimplicit-int] test20230901.c:15:8: warning: type of ‘h’ defaults to ‘int’ [-Wimplicit-int] Compilation finished at Fri Sep 1 21:53:52

関数の引数がintとみなされるということなので,関数の中にprint文を一時的に入れてみます。

c

1#include <stdio.h> 2 3double Pyramid(a, b, h); 4 5int main(void) { 6 double a = 5.1, b = 3.5, h=7.8; //a:底辺の高さa b:底辺の高さh:高さ 7 8 printf("底辺aの長さ%.1fcm. 底辺の長さ%.1fcm高さ%.1fcm\n",a,b,h); 9 printf("この四角錐の体積は%.2fcm^3\n", Pyramid(a,b,h)); 10 11 return 0; 12} 13 14 15double Pyramid (a, b, h) 16{ 17 printf("a=%d,b=%d,h=%d\n", a, b, h); 18 return a * b * h / 3.0; 19}

結果は次の通りです。

底辺aの長さ5.1cm. 底辺の長さ3.5cm高さ7.8cm a=-1875338208,b=1888981664,h=0 この四角錐の体積は0.00cm^3

どうもhが0とみなされているようです。
関数の引数の型をdoubleと指定します。

c

1#include <stdio.h> 2 3double Pyramid(double a, double b, double h); 4 5int main(void) { 6 double a = 5.1, b = 3.5, h=7.8; //a:底辺の高さa b:底辺の高さh:高さ 7 8 printf("底辺aの長さ%.1fcm. 底辺の長さ%.1fcm高さ%.1fcm\n",a,b,h); 9 printf("この四角錐の体積は%.2fcm^3\n", Pyramid(a,b,h)); 10 11 return 0; 12} 13 14 15double Pyramid (double a, double b, double h) 16{ 17 return a * b * h / 3.0; 18}

うまく結果が出るようです。

底辺aの長さ5.1cm. 底辺の長さ3.5cm高さ7.8cm この四角錐の体積は46.41cm^3

投稿2023/09/01 13:06

ujimushi_sradjp

総合スコア2134

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.40%

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

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

質問する

関連した質問