キーボードから3つの実数a,b,cを入力し a*b/cとa/b*cwp計算し表示するプログラムを作成。
受付中
回答 3
投稿 ・編集
- 評価
- クリップ 0
- VIEW 1,633
void calc(double*, double*, double);
int main (void)
{
double a, b, c;
printf("Input three numbers a, b and c:");
scanf("%1f %1f %1f", &a, &b, &c);
calc(&a, &b, c);
printf("a*b/c = %f\n", a);
printf("a/b*c = %f\n", b);
return 0;
}
void calc(double*x, double*y, double)
{
double a, b, c;
a = *x * *y / c;
b = *x / *y * c;
*x = a;
*y = b;
}
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
0
scanf
のdouble
の値を入力するフォーマットは、%lf
です。小文字のL
と1
と間違えたのでしょうか?
calc
関数の第3引数の仮引数が指定されていません。ここはc
が入るのでしょうか?その代わりにローカル変数のc
は不要ですね。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
void calc(double* x, double* y, double c);
int main (void)
{
double a, b, c;
printf("Input three numbers a, b and c:");
scanf("%lf %lf %lf", &a, &b, &c);
calc(&a, &b, c);
printf("a*b/c = %lf\n", a);
printf("a/b*c = %lf\n", b);
return 0;
}
void calc(double*x, double*y, double c)
{
double a, b, //c;
a = *x * *y / c;
b = *x / *y * c;
*x = a;
*y = b;
}
とりあえず動くように、分かりやすく直したらこうですかね。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
#include<stdio.h>
double calc_1(double, double, double);
double calc_2(double, double, double);
int main (void)
{
double a, b, c;
printf("Input three numbers a, b and c:");
scanf("%lf %lf %lf", &a, &b, &c);
printf("a=%lf b=%lf c=%lf\n", a, b, c);
printf("a*b/c = %lf\n", calc_1(a, b, c));
printf("a/b*c = %lf\n", calc_2(a, b, c));
return 0;
}
double calc_1(double x, double y, double c)
{
return x * y / c;
}
double calc_2(double x, double y, double c)
{
return x / y * c;
}
compile, 実行してみます。
$ g++ cal.c++
$ ./a.out
Input three numbers a, b and c:2 3 4
a=2.000000 b=3.000000 c=4.000000
a*b/c = 1.500000
a/b*c = 2.666667
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる