ex51.c |
---|
#include <stdio.h> #include <math.h> int main(void) { double x, y; printf("x = "); scanf("%lf", &x); y = sqrt(x); printf("%g の平方根は %g¥n", x, y); return 0; } |
コンパイルと実行の例
abc12345@KSKS04DT00 ~/ $ cd c5 abc12345@KSKS04DT00 ~/c5 $ gcc ex51.c abc12345@KSKS04DT00 ~/c5 $ ./a x = 2 2 の平方根は 1.41421 abc12345@KSKS04DT00 ~/c5 $ ./a x = -1 -1 の平方根は nan |
主な算術関数
sqrt(x) | x の平方根 |
pow(x,y) | xy |
exp(x) | 指数関数 ex |
log(x) | 自然対数 loge x |
log10(x) | 常用対数 log10 x |
sin(x), cos(x), tan(x) | 三角関数 (単位は radian) |
asin(x), acos(x), atan(x) | 逆三角関数 (単位は radian) |
M_PI | 円周率 |
fabs(x) | x の絶対値 |
ceil(x) | x 以上の最小の整数 (型は double) |
floor(x) | x 以下の最大の整数 (型は double) |
課題 5.1 実数データ x を入力して,
y = log x と z = ey を計算して出力するプログラム
log.c を作成せよ.
次のような結果 (x と z がほぼ等しくなるはず) が得られることを確認せよ.
課題 5.2
角度 x (ただし単位は「度」で, 0≤x≤360 とする) を入力し,
sin x, cos x, tan x を計算して出力するプログラム sin.c を作成せよ.
ただし, x=90, x=270 の時には tan x の値は表示しないようにせよ (if文を用いよ).
課題 5.3
実数データ x, y, z を入力し,
3数の相加平均 a と相乗平均 g を小数点以下5桁まで計算して出力するプログラム ave3.c を作成せよ.
次のような結果が得られることを確認せよ.
課題 5.4 実数 a, b, c を入力し,
2 次方程式 a x2 + b x + c = 0 の実数解を出力するプログラム
qeq.c を作成せよ.
結果は小数点以下5桁まで出力し, 例外は次のように処理するようにせよ.
課題 4.4 で作成した nsol.c を参考にせよ.
次のような結果が得られることを確認せよ (2つの解の順序が入れ替わっていても, 数値に誤差があっても構わない).
科目名: コンピュータ演習A 課題: C5 番号: 9999 氏名: 関学 太郎 作成: 20oo年oo月oo日 ------------------------------------------------------------- [課題 5.1] 〜を作成した. 実行結果は下記の通りである. (Cygwinの実行結果を貼り付ける) 〜で苦労した, 〜を工夫した, 等 ------------------------------------------------------------- ([課題 5.2] 以降も同様) ------------------------------------------------------------- [感想] (今回の課題に関する感想を書く) |