/* proposé par Stoos */
/*On définit des fonctions qui affichent et saisissent des nombres*/
#include<stdio.h>
float affiche(float a)
{
printf("Le nombre est:%f\n",a);
return(a);
}
float saisie1(void) /*Le void est mis car on ne peut pas déclarer
avec rien dans les () */
{
float a;
puts("Entrer un nombre:");
scanf("%f",&a);
return(a);
}
float saisie2(float *a) /*utilisation de pointeur*/
{
puts("Entrez nbre:");
scanf("%f",a); /*équivalent à scanf("%f",&(*a)); car le & et le * s'annulent.*/
return(*a);
}
void main(void)
{
float x2,x1;
saisie2(&x1);
x2=saisie1();
affiche(x1);
affiche(x2);
}
/* proposé par Stoos */
#include<stdio.h>
float affiche(float a)
{
printf("Le nombre est:%f\n",a);
return(a);
}
float saisie1(void) /*On reprend les fonctions*/
{ /* du programme "fct01.c"*/
float a;
puts("Entrer un nombre:");
scanf("%f",&a);
return(a);
}
void saisie2(float *a)
{
puts("entrez nbr:");
scanf("%f",a);
}
void main(void)
{
float x1,x2,z1,z2;
float *p1,*p2;
p1=&x1;
p2=&x2;
*p1=saisie1();
saisie2(p2);
affiche(x1);
affiche(x2);
z1=*p1+*p2;
z2=(*p1)*(*p2); /*Utiliser les () pour y voir clair*/
affiche(z1);
affiche(z2);
}
#include<stdio.h>
int somme(int n);
int somme1(int n);
int factoriel(int n);
int factoriel1(int n);
void main(void)
{
int i;
puts("entrez i");
scanf("%d",&i);
printf("%d\n",factoriel1(i));
}
int somme(int n)
{
if(n>0)return(somme(n-1)+n);
return(0);
}
/*Ou*/
int somme1(int n) /* int somme1(int n) */
{ /* { */
int s=n; /* int s=0; */
do /* for(;n>0;n--) s+=n; */
{ /* return(s); */
s=s+(n-1); /* } */
n--;
}
while(n>0);
return(s);
}
/* somme&somme1 calculent i=n + la somme des (n-1) tant que n>0 */
int factoriel(int n)
{
if(n>0)return(factoriel(n-1)*n);
return(1);
}
/*Ou*/
int factoriel1(int n) /* int factoriel1(int n) */
{ /* { */
int s=n; /* int s=1; */
do /* for(;n>0;n--) s*=n; */
{ /* return(s); */
s=s*(n-1); /* } */
n--;
}
while(n>1);
return(s);
}
/*factoriel et factoriel1 calculent la factorielle de n*/
/* Fonction factoriel et factoriel1 pour avoir une réponse en réels.*/
#include<stdio.h>
float factoriel(int n);
void main(void)
{
int i;
puts("entrez i");
scanf("%d",&i);
printf("%f\n",factoriel(i));
}
float factoriel(int n)
{
if(n>1)return(factoriel(n-10)*n);
return(1);
}
float factoriel1(int n) /* float facteur1(int n) */
{ /* { */
float s=n; /* float s=1; */
do /* for(;n>0;n--) s*=n; */
{ /* return(s); */
s=s*(n-1);
n--;
}
while(n>1);
return(s);
}
float f(float x)
{return(0.75*x -2);}
float divise_intervale(float *deb, float*fin)
{
float milieu;
milieu=(deb+fin)/2;
if((fin-deb)<1E-3)return(milieu);
else if(f(*deb)*f(milieu)<=0)return(divise_intervale(deb,milieu));
else return(divise_intervale(milieu,fin));
}
void main(void)
{printf(divise_intervalle(2,3));}
Patrick TRAU,ULP - IPST 20/11/97