安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题




#include <math.h>
#include "MyMath.h" // Includem prototipurile funcțiilor noastre
int main() {
// Valori de test pentru fiecare funcție
double test_abs = -15.5;
double test_sqrt = 49.0;
double test_exp = 2.5;
printf("=== Testare functii proprii vs. math.h ===\n\n");
// 1. Testare valoare absolută
printf("1. Valoare absoluta pentru %.2f:\n", test_abs);
printf(" myAbs: %f\n", myAbs(test_abs));
printf(" fabs (math.h): %f\n\n", fabs(test_abs));
// 2. Testare rădăcină pătrată
printf("2. Radacina patrata pentru %.2f:\n", test_sqrt);
printf(" mySqrt: %f\n", mySqrt(test_sqrt));
printf(" sqrt (math.h): %f\n\n", sqrt(test_sqrt));
// 3. Testare exponențială
printf("3. Functia exponentiala e^(%.2f):\n", test_exp);
printf(" myExp: %f\n", myExp(test_exp));
printf(" exp (math.h): %f\n", exp(test_exp));
return 0;
}
// Calculează valoarea absolută
double myAbs(double x) {
return (x < 0.0) ? -x : x;
}
// Aproximează rădăcina pătrată (Metoda Babiloniană / Newton)
double mySqrt(double x) {
if (x < 0.0) return -1.0; // Returnăm -1 pentru numere negative (eroare)
if (x == 0.0) return 0.0;
double guess = x / 2.0;
double epsilon = 1e-7; // Precizia dorită
while (myAbs(guess * guess - x) >= epsilon) {
guess = (guess + x / guess) / 2.0;
}
return guess;
}
// Aproximează e^x (Seria Taylor)
double myExp(double x) {
double sum = 1.0;
double term = 1.0;
int n = 1;
double epsilon = 1e-7; // Precizia dorită
while (myAbs(term) >= epsilon) {
term *= x / n;
sum += term;
n++;
}
return sum;
}
#define MYMATH_H
// Prototipurile funcțiilor din Exercițiul 1
double myAbs(double x);
double mySqrt(double x);
double myExp(double x);
#endif