Comment diviser le flotteur en entier lorsque les deux sont des variables?

Je suis en train d'écrire un programme en C. j'ai deux variables dont l'une est de type entier et l'autre est un float. Je veux diviser le flotteur en entier et que vous souhaitez obtenir de résultat en float. Je suis en train de faire les suivants:

int a;
float b=0,c=0;
scanf("%d",&a);

Ici, je suis en train de faire quelques calculs sur b pour que sa valeur a augmenté au hasard je.e 33 etc.

c = b/(float)a;
printf("c = %2.f\n", c);

Le problème est que je suis 'c " comme un nombre entier (integer) plutôt que d'une valeur flottante.
Comment puis-je obtenir 'c " comme une valeur flottante.

  • Êtes-vous sûr que c'est votre vrai code?
  • Votre code fonctionne parfaitement bien pour moi. Il ne devrait pas être arrondi. Peut-être que vous avez accidentellement convertir c int plus tard?
  • Quelles sont les valeurs sont dans les variables?
  • Votre code serait bien avec c = b / a;: au moins l'un des diviseurs doit être à virgule flottante: b l'est déjà. La réponse doit, par un hasard évaluer à un float ayant pas de partie décimale.
  • Veuillez voir la version modifiée de mon code.
  • Le code devrait fonctionner seulement avec "c = b / a", parce que, entre int et float types, le type float est plus forte, par conséquent, la conversion devrait être implicite.

InformationsquelleAutor user3130920 | 2014-01-23