/* 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