1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct liste{int ent;
int dec;
int expo;
struct liste *svt;}liste;
liste *st ()
{
liste *tete=NULL,*pc=NULL,*q;
pc=(liste*)malloc(sizeof(liste));
printf("donner les valeurs (partie entiere,parite decimale,et lexposant\n");
scanf("%d %d %d",&pc->ent,&pc->dec,&pc->expo);
tete=pc;
if (pc->expo==0)
return (tete);
else
while (pc->expo!=0) /*le reste des éléments*/
{ q=(liste*)malloc(sizeof(liste));
printf("donner les valeurs (partie entiere,parite decimale,et lexposant\n");
scanf("%d %d %d",&q->ent,&q->dec,&q->expo);
pc->svt=q;
pc=q;
}
/*dernier élément pointe vers le NULL*/
pc->svt=NULL;
return (tete);
}
float calcul(liste *pc)
{ float result;
result=(pc->ent,pc->dec)*pow(10,pc->expo);
return (result);
}
void main()
{
liste *tete,*pc;
tete=st(); /*appeler la fonction pour crée la liste*/
pc=tete;
int i=0;
while(pc->svt!=NULL)
{printf("%d,%d*10%d\n",pc->ent,pc->dec,pc->expo);
pc=pc->svt;
i++;
}
n=i+1;
float v[n];
i=0;
for (pc=tete;pc!=NULL;pc->svt)
{
*(v+i)=calcul(pc); /*appel de calcul mallion par mallion*/
i++;
}
/*affichage du vecteur*/
for(i=0;i<n;i++)
printf("%d \t",v[i]);
} |
Partager