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

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

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

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

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

3回答

2265閲覧

キーボードから3つの実数a,b,cを入力し a*b/cとa/b*cwp計算し表示するプログラムを作成。

real03A

総合スコア6

C

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

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2015/01/23 03:14

#include<stdio.h>
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("ab/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;

}

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

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

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

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

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

guest

回答3

0

ポインターをなるべく使わずに書いてみました。

lang

1#include<stdio.h> 2double calc_1(double, double, double); 3double calc_2(double, double, double); 4 5int main (void) 6{ 7 double a, b, c; 8 printf("Input three numbers a, b and c:"); 9 scanf("%lf %lf %lf", &a, &b, &c); 10 11 printf("a=%lf b=%lf c=%lf\n", a, b, c); 12 printf("a*b/c = %lf\n", calc_1(a, b, c)); 13 printf("a/b*c = %lf\n", calc_2(a, b, c)); 14 15 return 0; 16} 17 18double calc_1(double x, double y, double c) 19{ 20 return x * y / c; 21} 22double calc_2(double x, double y, double c) 23{ 24 return x / y * c; 25}

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

投稿2015/01/30 22:44

katoy

総合スコア22322

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

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

0

#include<stdio.h>
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("ab/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; }

とりあえず動くように、分かりやすく直したらこうですかね。

投稿2015/01/25 12:30

MiyukiAizawa

総合スコア41

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

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

0

どのような質問なのかを書かないと、回答が得られにくくなります。

scanfdoubleの値を入力するフォーマットは、%lfです。小文字のL1と間違えたのでしょうか?
calc関数の第3引数の仮引数が指定されていません。ここはcが入るのでしょうか?その代わりにローカル変数のcは不要ですね。

投稿2015/01/25 07:29

argius

総合スコア9388

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問