comment garder les nombres décimaux en c

J’écris un code simple pour faire mes devoirs. Je reçois un numéro de l’utilisateur, qui est 3,4, quand je le définis avec

scanf("%d",&a) 

il ne faut que 3 et le faire de cette façon. J’ai défini a comme

 int a; 

Que devrais-je faire?

Utilisez float

 float a; scanf("%f", &a); 

Je pense que vous êtes très nouveau en programmation c. C’est un travail très simple. Cela peut être fait comme: –

 float a; // to input a data in the variable a scanf("%f",&a); //to display the stored data printf("%f\n",a); //or printf("%.nf\n",a);//specify value of n //maximum value of n is 6 also is its default value //for eg printf("%.2f",a); will display decimal number upto two digits after the decimal place //you can know more about displaying data as %d: decimal value (int) %c: character (char) %s: ssortingng (const char *) %u: unsigned decimal value (unsigned int) %ld: long int (long) %f: float value (float or double) %x: decimal value in Hexadecimal format %o: decimal value in octal format 

Pour la liste des spécifications de formatage disponibles ici

% d est pour int. 3.4 n’est pas un type int, vous pouvez utiliser float.

 float x; scanf("%f", &x); 

Pour des informations détaillées sur les types de données, vous pouvez vérifier ici: http://en.wikipedia.org/wiki/C_data_types

Et aussi ici: http://www.techonthenet.com/c_language/variables/index.php

Vous devez définir a comme

 float a; 

et remplacez %d par %f dans scanf

 scanf("%f", &a); 

Que devrais-je faire?

Lire les bases de l’entrée / sortie formatée en C.

C’est très simple pour la variable int, nous utilisons le spécificateur de format% d et, si nous voulons une valeur flottante, nous utilisons le spécificateur de format% f. Parce que, selon IEEE, les formats bitmap flo et int sont différents.

Vous déclarez int a qui ne peut prendre qu’une valeur entière, vous devez donc le faire flotter, ce qui est utilisé pour les nombres ayant un point décimal.

flotter un; scanf (% f, & a);