Консультация № 142107
24.08.2008, 15:24
0.00 руб.
0 6 1
Здравсвуйте эксперты, такой вот код:

main()



{
float x,y;
printf("x=");
scanf("%e",&x);
y=sqrt(x);
printf("y= %e\n",y);
y=x*x;
printf("y= %e\n",y);

}
выдает такое:
x=9
y= -3.27000e+04
y= 8.10000e+01

что я делаю не так, до этого всегда писал на Паскале сейчас пытаюсь на Си адапитироваться, функцию sqr похоже нет
подскажите пожалуйста

Обсуждение

Неизвестный
24.08.2008, 15:24
общий
и как сделать что он писал не
8.10000e+01 а просто 81
Неизвестный
24.08.2008, 16:19
общий
это ответ
Здравствуйте, Tribak!
Вы. по-видимому, привели не весь код, но подключить math.h, явно забыли. В нем описана функция sqrt
Далее, выводить можно так, как в приложении - это слегка измененный Ваш код

Приложение:
#include <stdio.h>
#include <math.h>

main()
{
float x,y;
printf("x=");
scanf("%e",&x);
y=sqrt(x);
printf("y= %g\n",y);
y=x*x;
printf("y= %4.1f\n",y);

}
Неизвестный
24.08.2008, 16:28
общий
самое странно что не обьявлял, а при написании
#include<math.h> си предлогал сохраниться и помойму открывал этот модуль
Неизвестный
24.08.2008, 16:29
общий
хотя я include писал уже после main
Неизвестный
24.08.2008, 16:38
общий
Лучше "ДО" писать. Но мой пример понятен?
Неизвестный
24.08.2008, 17:05
общий
понятно в принципе, я тоже уже попробовал и получилось
Форма ответа