Как мне создать несколько ответов на выходе? - PullRequest
0 голосов
/ 07 сентября 2018

Я написал небольшой кусочек кода, который вычисляет уравнение для данного числа, х. Но когда я хочу попробовать скопировать этот код, он не работает. Там написано «переоценка результата без привязки». То, что я хочу сделать, это сделать вывод в консоли, когда х = 0, х = 10 и х = -10. Вот мой код:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>    
#include <math.h>
int main()
{
  float x = 0.0, result;
  result = 1/(1+exp(x));
  printf("Exponential of %f = %f", x, result);
  return 0;
}

Это работает только для одного, но когда я дублирую, это не будет работать. То, что я хочу сделать, это просто продублировать, чтобы он вывел три вычисления для чисел в консоли. Спасибо <3 </p>

Ответы [ 3 ]

0 голосов
/ 07 сентября 2018
float x = 0.0
printf("Exponential of %f = %f\n", x, 1/(1+exp(x));

x = 10.0
printf("Exponential of %f = %f\n", x, 1/(1+exp(x));

x = -10.0
printf("Exponential of %f = %f\n", x, 1/(1+exp(x));
0 голосов
/ 07 сентября 2018

На языке c вы не можете переопределить переменную, но вы можете переназначить переменную.

Попробуйте это:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>    
#include <math.h>
int main()
{
  float x = 0.0, result;
  result = 1/(1+exp(x));
  printf("Exponential of %f = %f\n", x, result);

  x=10.0;
  result = 1/(1+exp(x));
  printf("Exponential of %f = %f\n", x, result);

  x=-10.0;
  result = 1/(1+exp(x));
  printf("Exponential of %f = %f\n", x, result);

  return 0;
}

Надеюсь, это помогло.

0 голосов
/ 07 сентября 2018

"redeclaration" означает, что вы делаете копию строки

 float x = 0.0, result;

если хочешь просто сделать из

float x = 0.0, result;
result = 1/(1+exp(x));
printf("Exponential of %f = %f", x, result);

что-то для вычисления результата для разных x, просто сделайте следующее:

float x = 0.0, result; // declaration - only once
result = 1/(1+exp(x));
printf("Exponential of %f = %f", x, result);
x = 0.5; // new value for the same variable
result = 1/(1+exp(x)); // new value for the same variable
printf("Exponential of %f = %f", x, result);

Также рассмотрите возможность создания цикла, чтобы исключить копирование кода. Общий подход выглядит так:

  1. Определите, когда вы можете принимать значения x: пользователь может вводить или принимать значения в диапазоне от start до end значений.
  2. В зависимости от решения на шаге 1 вы можете выбрать количество итераций в цикле, подход (условие) для остановки цикла.
  3. Итак, выберите один из операторов цикла: for, while или do{}while и напишите код.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...