Aidez moi avec la fonction sin et cos en c

anjoelus4 Messages postés 5 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
quand je fait

#include<stdio.h>
#include<math.h>
int b;
float a;
void main ()
{
scanf("%d",&b);
a=sin(b);
printf'("%f",b);
}

les valeurs ne sont pas bonnes je ne sais pas sil ya erreur dans la declaration

5 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,
Evite les variables globales. main renvoie un int. Et sin renvoie un double. Si tu veux un float il faut utiliser sinf. Et enfin, tu affiches la mauvaise valeur à la fin du programme.

#include<stdio.h>
#include<math.h>

int main(void)
{
int b;
double a;
scanf("%d",&b);
a=sin(b);
printf("%f",a);

return 0;
} 


Cdlt
6
hamed01 Messages postés 212 Statut Membre 24
 
sois tres attentif ... voici le code que tu as voulu ecrire (enfin, je suppose)

#include<stdio.h>
#include<math.h>
int b;
float a;
void main ()
{
scanf("%d",&b);
a=sin(b);
printf("%f",a);
}
1
atome
 
int représante des entiers et float représente des nombres a virgule du coup tes deux variables ne sont pas compatibles l'une dans l'autre, je te conseil de remplacer "int b" par "float b"
0
latoopa Messages postés 278 Statut Membre 32
 
pourquoi une réponse un an et demie après ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Surtout pour donner une explication fausse ^^.
On peut très bien mettre un entier dans sin(b), il y aura promotion automatique en double.
Et sin ne retourne pas un float mais un double, ou alors il faut employer sinf.
0