Форум русскоязычного сообщества Ubuntu


Автор Тема: Квадратный корень на Си  (Прочитано 9259 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kaziev-95

  • Автор темы
  • Участник
  • *
  • Сообщений: 228
  • Ставь Ubuntu
    • Просмотр профиля
    • Убунту для жизни
Квадратный корень на Си
« : 18 Май 2012, 18:05:58 »
Помогите исправить ошибку в программе. Нужно получить квадратный корень.

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

int main (void) {
double a;
printf ("Введите квадратный корень:");
scanf ("%lf", &a);
printf ("sqrt=%f", sqrt(a));
return 0;
}

Оффлайн mkarasik

  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Re: Квадратный корень на Си
« Ответ #1 : 18 Май 2012, 18:58:59 »
Какую ошибку? Все же и так работает

> gcc ./test.c -lm -o test
> ./test
??????? ?????????? ??????:25
sqrt=5.000000

Оффлайн kaziev-95

  • Автор темы
  • Участник
  • *
  • Сообщений: 228
  • Ставь Ubuntu
    • Просмотр профиля
    • Убунту для жизни
Re: Квадратный корень на Си
« Ответ #2 : 18 Май 2012, 19:05:44 »
Скомпилировал как и вы. Всё получилось.

А почему мой способ компиляции не сработал:
$ gcc -o prog '/home/ubuntuforlife/Рабочий стол/3.c'
/tmp/ccDPB1fq.o: In function `main':
3.c:(.text+0x4d): undefined reference to `sqrt'
collect2: выполнение ld завершилось с кодом возврата 1

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Квадратный корень на Си
« Ответ #3 : 18 Май 2012, 19:08:28 »
Математическая библиотека не подключена при компиляции.
gcc ./test.c -lm -o test

Оффлайн mkarasik

  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Re: Квадратный корень на Си
« Ответ #4 : 18 Май 2012, 20:02:50 »
Математическая библиотека не подключена при компиляции.
gcc ./test.c -lm -o test

Если быть совсем точным при линковке. Для компиляции библиотеки не нужны. Просто в данном случае линковка и компиляция происходят одновременно.

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Квадратный корень на Си
« Ответ #5 : 18 Май 2012, 20:03:46 »
Именно.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5157
  • Все по палатам!
    • Просмотр профиля
Re: Квадратный корень на Си
« Ответ #6 : 18 Май 2012, 20:34:41 »
kaziev-95,
Совет. Компилятор выдает ошибку - текст ошибки в гугл - и ответ в первой же (обычно) ссылке
Извините, я все еще учусь

Оффлайн kaziev-95

  • Автор темы
  • Участник
  • *
  • Сообщений: 228
  • Ставь Ubuntu
    • Просмотр профиля
    • Убунту для жизни
Re: Квадратный корень на Си
« Ответ #7 : 18 Май 2012, 20:49:04 »
Ещё один вопрос. Есть программа для перевода значения угла в градусах в радианы:
#include <stdio.h>
 
int main (){
double a, b;
printf ("Введите угол в градусах:");
scanf ("%lf", &a);
b=a*3,14;
printf ("Угол в радианах равен:%5.2f\n", b/180);
return 0;
}
Если например угол в градусах вводить 180, то в радианах показывает 3,00 вместо 3,14. Как исправить?

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Квадратный корень на Си
« Ответ #8 : 18 Май 2012, 20:54:52 »
Эмм...
3.14 с точкой или с запятой?

Оффлайн kaziev-95

  • Автор темы
  • Участник
  • *
  • Сообщений: 228
  • Ставь Ubuntu
    • Просмотр профиля
    • Убунту для жизни
Re: Квадратный корень на Си
« Ответ #9 : 18 Май 2012, 21:02:46 »
Эмм...
3.14 с точкой или с запятой?
Если можно оба варианта.

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Квадратный корень на Си
« Ответ #10 : 18 Май 2012, 21:07:01 »
А должно быть с точкой.

Оффлайн kaziev-95

  • Автор темы
  • Участник
  • *
  • Сообщений: 228
  • Ставь Ubuntu
    • Просмотр профиля
    • Убунту для жизни
Re: Квадратный корень на Си
« Ответ #11 : 18 Май 2012, 21:09:45 »
Цитировать
А должно быть с точкой.
Спасибо всем. Всё понял.

 

Страница сгенерирована за 0.099 секунд. Запросов: 24.