Program w języku C

0

Napisz program obliczający wartość: y=a+b/c+d. Przy uruchomieniu jednak wynik się nie zgadza.

#include<stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])

{
float y,a,b,c,d;
printf("Podaj wartosc zmiennej a : ");
scanf("%f",&a);
printf("Podaj wartosc zmiennej b : ");
scanf("%f",&b);
printf("Podaj wartosc zmiennej c : ");
scanf("%f",&c);
printf("Podaj wartosc zmiennej d : ");
scanf("%f",&d);
y==(a+b/(c+d));
printf("Zmienna y wynosi : %f\n", y);
system("pause");
return 0;
}

0

y = (a + b/(c + d)); a nie ==.

Zwróć uwagę na kolejność wykonywania działań, w opisie problemu nie podałeś żadnych nawiasów, tutaj użyłeś jednego.

0
  1. a + b w nawiasie, intuicyjnie chodzi Ci o coś takiego (a+b)/(c+d)

  2. 'y =' a nie 'y=='

0
test.c:17:7: warning: equality comparison result unused [-Wunused-comparison]
     y==(a+b/(c+d));
     ~^~~~~~~~~~~~~
test.c:17:7: note: use '=' to turn this equality comparison into an assignment
     y==(a+b/(c+d));
      ^~
      =
1 warning generated.
0

Wpisuję 1,1,1,1 i wychodzi 1.5 a powinno 1, bo 2/2=1. Zmieniłem ten y na y=.

1

Słyszałeś o czymś takim jak kolejność wykonywania działań? Z podstawówki powinieneś pamiętać, że najpierw jest dzielenie, a potem dodawanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1