Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Составить и отладить программу на языке Си, с помощью которой можно вычислить значение выражение.

Георгий Маслий Ученик (229), на голосовании 3 недели назад
Голосование за лучший ответ
Рустам Абдрашитов Мыслитель (9508) 1 месяц назад
 #include  
#include

void clearInputBuffer() {
while (getchar() != '\n');
}

int isValidDouble(double value) {
return value > -1e100 && value < 1e100;
}

double getInput(const char* prompt) {
double value;
int result;

while (1) {
printf("%s", prompt);
result = scanf("%lf", &value);

if (result == 1 && isValidDouble(value)) {
clearInputBuffer();
return value;
} else {
printf("Ошибка: Неверный ввод. Пожалуйста, введите число в диапазоне [-1e100, 1e100].\n");
clearInputBuffer();
}
}
}

double calculateFunction(double x, double t, double z) {
return (3 * t / 12 + 6.7e4 * z) / (x + t - z);
}

int main() {
double x, t, z, f;
char choice;

do {
printf("=== Ввод значений ===\n");

x = getInput("Введите значение x (например, 25.0): ");
t = getInput("Введите значение t (например, 2.4e8): ");
z = getInput("Введите значение z (например, -1.6e-5): ");

if (x + t - z == 0) {
printf("Ошибка: Деление на ноль! Проверьте введенные значения.\n");
return 1;
}

f = calculateFunction(x, t, z);

printf("\n=== Результат вычисления ===\n");
printf("f = %10.3e\n", f);

printf("\n=== Введенные значения ===\n");
printf("x = %.2f\n", x);
printf("t = %.2e\n", t);
printf("z = %.2e\n", z);

printf("\nХотите ли вы выполнить еще одно вычисление? (y/n): ");
choice = getchar();
clearInputBuffer();

} while (choice == 'y' || choice == 'Y');

printf("Спасибо за использование программы!\n");
return 0;
}
Георгий МаслийУченик (229) 1 месяц назад
что показало в консоли?
Георгий Маслий, ты думаешь, он это запускал? Что нейросеть вывалила, то и запостил.
GGG Просветленный (35161) 1 месяц назад
 #include  

int main() {
double x = 25.0;
double t = 2.4e8;
double z = -1.6e-3;

double numerator = 3 * x - t / 12.0 + 6.7e4 * z;
double denominator = x + t + z;
double f = numerator / denominator;

printf("x = %.4lf\n", x); // 4 знака после запятой
printf("t = %.4lf\n", t); // 4 знака после запятой
printf("z = %.4lf\n", z); // 4 знака после запятой
printf("f = %.3lf\n", f); // 3 знака после запятой

return 0;
}
Результат
{'x': 25.0, 't': 240000000.0, 'z': -0.0016, 'f': -0.083}
Похожие вопросы