При любых данных ответ выводит 0.00 - C (СИ)
Формулировка задачи:
Добрый вечер!
Помогите, пожалуйста, найти ошибку.
При любых данных ответ выводит 0.00
#include<stdio.h>
#include<math.h>
main()
{
int a,x,m;
float C;
clrscr();
puts("vvedrtw a,x,m");
scanf("%d%d%d",&a,&x,&m);
printf("a=%d\nx=%d\nm=%d\n",a,x,m);
if (a>=x)
if (m>=1) {
C=a*(x+2)+pow(x,2)*m;
}
else if (a>=x)
if (x<1) {
C=a*(x+2)+pow((a-x),2)*m;
}
else if (a<x)
if (a>5) {
C=a*(x+2)+(a+pow(x,2))/a*m;
}
else {
C=a*(x+2)+a*x;
}
printf("C=%.2f",C);
getch();
}Решение задачи: «При любых данных ответ выводит 0.00»
textual
Листинг программы
#include<stdio.h>
#include<math.h>
main()
{
int a,x,m;
float C;
clrscr();
puts("vvedrtw a,x,m");
scanf("%d%d%d",&a,&x,&m);
printf("a=%d\nx=%d\nm=%d\n",a,x,m);
if (a>=x) if (m>=1) { C=a*(x+2)+pow(x,2)*m; }
else if (a>=x) if (x<1) { C=a*(x+2)+pow((a-x),2)*m; }
else if (a<x) if (a>5) { C=a*(x+2)+(a+pow(x,2))/a*m; }
else { C=a*(x+2)+a*x; }
printf("C=%.2f",C);
getch();
}
Объяснение кода листинга программы
- В начале программы подключаются две библиотеки: стандартная библиотека для ввода-вывода (stdio.h) и библиотека для работы с математическими функциями (math.h).
- Затем идет объявление переменных: целочисленные переменные a, x, m и вещественная переменная C.
- После этого происходит инициализация начального значения переменных, а также очистка буфера ввода.
- Далее пользователю предлагается ввести значения переменных a, x, m с помощью функции scanf.
- Выполняется проверка значений переменных a, x, m с помощью условных операторов if-else.
- В зависимости от значений переменных вычисляется значение переменной C.
- Выводится значение переменной C с помощью функции printf.
- Программа завершается с помощью функции getch.