O problema banala, dar care nu ii iese unui novice ca mine

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
Lich Coldheart
Junior
Junior
Posts: 5
Joined: 31 Oct 2015, 20:01

O problema banala, dar care nu ii iese unui novice ca mine

Post by Lich Coldheart » 31 Oct 2015, 20:16

Salutari!

As dori sa invat sa programez in limbajul C, dar imi este destul de greu sa fac progrese. Urmatoarea problema este banala, dar nu imi iese orice as face:

"Citeste de la tastatura numerele: 214000000, 32000, 65000, 429000000, 3.4e+30, 3.4e-500, 1.5e+200 si apoi afiseaza-le."

Problema este ca programul imi afiseaza cu totul alte valori fata de cele introduse si nu inteleg care este problema. :(

Acesta este codul scris de mine:

#include <stdio.h>
int main()
{
long int a,b,c,d;
double x,y,z;
printf("Dati 4 numere intregi");
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("Dati 3 numere fractionare");
scanf("%e%e%e",&x,&y,&z);
printf("a=%d,b=%d,c=%d,d=%d,\n,x=%e,y=%e,z=%e",&a,&b,&c,&d,&x,&y,&z);
return 1;
}

Imi puteti spune, va rog, unde gresesc?



Viorel
Microsoft MVP
Microsoft MVP
Posts: 293
Joined: 13 Jul 2007, 12:26

Re: O problema banala, dar care nu ii iese unui novice ca mi

Post by Viorel » 31 Oct 2015, 20:56

Sînt necesare cîteva corectări:

Code: Select all

long int a, b, c, d;
long double x, y, z;
printf( "Dati 4 numere intregi:\n" );
scanf( "%ld%ld%ld%ld", &a, &b, &c, &d );
printf( "Dati 3 numere fractionare:\n" );
scanf( "%le%le%le", &x, &y, &z );
printf( "a=%ld, b=%ld, c=%ld, d=%ld,\nx=%le, y=%le, z=%le\n", a, b, c, d, x, y, z );
Totuși valoarea 3.4e-500 este prea mică și nu poate fi reprezentată.

Post Reply