@sasha31299

Можете помочь найти ошибку в коде?

#include <stdio.h>
#include <stdafx.h>
#include <conio.h>
#include<math.h>

void main()
{
	double x, y, w;
	double max = 0;
	printf_s("Enter X, Y and W\n");
	scanf_s("%lf %lf %lf", &x, &y, &w);
	if ((x + y + 2) > (x + 1 / 2)) {
		if ((x + y + 2) > (y + x*w)) {
			max = (x + y + 2)*(x + y + 2) + 1;
			printf_s("max = %lf", &max);
			_getch();
		}
		else {
			max = (y + x*w)*(y + x*w) + 1;
			printf_s("max = %lf", &max);
			_getch();
		}
	}
	else {
		if ((x + 1 / 2) > (y + x*w)) {
			max = (x + 1 / 2)*(x + 1 / 2) + 1;
			printf_s("max = %lf", &max);
			_getch();
		}
		else {
			max = (y + x*w)*(y + x*w) + 1;
			printf_s("max = %lf", &max);
			_getch();
		}
	}
}


Выводит 0
Должен вывести квадрат максимального многочлена плюс 1
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
1. 1/2 = 0, надо писать 1.0/2.0 или просто 0.5.
2. В printf немного другие правила, чем в scanf, и надо
printf_s("max = %f\n", max);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы