Ожидаемое выражение с квадратными корнями - PullRequest
0 голосов
/ 25 января 2019
#define PI = 3.141593
#define G = 6.67259E-11
#define g = 9.80665
#define M = 5.972E+24
#define r = 6378000
#define h = 220

#include <stdio.h>
#include <math.h>
int main(void)
{
    int value;
    value =sqrt((G/M)/(r+h))

    printf("This is the tangential speed:") value;
    return 0;
}

Я очень новичок в кодировании, и моя программа выдает мне несколько ошибок в блоках кода, кто-нибудь может дать мне какое-нибудь руководство?

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Удалить = из всех операторов #define. Это определения макросов препроцессора, а не операторы присваивания, и они не используют знаки равенства.

Измените int value на double value, чтобы использовать числа с плавающей точкой вместо целых.

Добавьте ; после value =sqrt((G/M)/(r+h)). Утверждения в С обычно заканчиваются точкой с запятой.

Измените printf("This is the tangential speed:") value; на printf("This is the tangential speed: %g.\n", value);. printf - это вызов функции, а не оператор, поэтому вы передаете все, что ему нужно, в скобках. Строка является строкой формата; он содержит как буквальный текст, который вы хотите напечатать, так и спецификации преобразования, такие как %g, которые говорят ему преобразовывать аргумент в строку. %g говорит ему преобразовать аргумент double в общую форму отображения с плавающей точкой.

0 голосов
/ 25 января 2019

Я вижу две проблемы:

  1. Наименьшая проблема, но может быть существенной, заключается в том, что я предполагаю, что вы хотите, чтобы значение было числом с плавающей точкой или двойным вместо целого, поэтому замените

    int значение;

от

 float value;
  1. Неправильная инструкция печати:

    printf ("Это тангенциальная скорость:") значение;

Предполагая, что значение является плавающим, измените его на

 printf("This is the tangential speed: %f\n", value);

\ n создает новую строку.

И, конечно же, не забудьте замечание от chux.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...