#include <stdio.h>
#include <stdlib.h>
int main()
{float b;
int a = floor(b);
float u = b-a;
printf("Valeur de b :\n");
scanf("\%f",&b);
a=(int)b;
printf("\n");
if(b==a)
{
printf("La variable a est entiere \n");
}
else
{
printf("La partie decimal de a est %d :",u);
}
return 0;
}
Écrivez un programme qui prend une variable réelle, et indique à l’utilisateur si celle-ci est un entier, sinon, il
renvoie à l’utilisateur sa partie décimale.
sa me retourne tjr 0
- Edité par ouardiaduchesse 26 avril 2019 à 1:34:00
Je ne comprends pas vos façons d'indenter. Ce qui ce conçoit bien s’énonce clairement.
1] b n'est pas initialisé ? 2] %d est le format specifier pour les entiers et non les rationnels, rien d'étonnant à ce qu'il t'affiche donc 0. Le bon format specifer est %f mais tu le sais déjà.
#include <stdio.h>
#include <stdlib.h>
int main()
{
float nombre = 0.;
printf("\n Saisir un nombre : ");
scanf("%f",&nombre);
int partie_entiere = (int)nombre;
float delta = 0.;
if( ( delta = nombre - (float)partie_entiere ) == 0. )
printf("\n Le nombre est entier");
else printf("\n Le nombre est rationnel, sa partie decimale vaut : %f", delta);
return 0;
}
- Edité par aneonymous 26 avril 2019 à 2:05:30
langage c
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.