Vous êtes sur la page 1sur 20

EX1:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

typedef struct complex {

double x,y ;

}complex;

double real (complex *z){

return (*z).x;

double imag (complex *z){

return (*z).y;

double abs(complex *z)

return sqrt((*z).x * (*z).x+ (*z).y * (*z).y);

complex mul(complex *z1, complex *z2){

complex result;

(result).x= (*z1).x* (*z2).x-(*z1).y* (*z2).y;

(result).y= (*z1).x* (*z2).y+(*z1).y* (*z2).x;

return result;

int main ()

complex result,z1,z2;

double abs1,abs2;

scanf("%lf %lf",&z1.x,&z1.y);

scanf("%lf %lf",&z2.x,&z2.y);

printf("multiplication: %.2lf + %.2lfi\nvaleurs absolus :\nabs1= %.2lf\tabs2= %.2lf ", mul(&z1,&z2).x, mul(&z1,&z2).y, abs(&z1), abs(&z2));

return 0;

}
EX2:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct panneau{

double l,L,e;

char type[20];

}panneau;

panneau saisie ( )

panneau P;

int code;

printf("entrer la largeur la longuer et l'epaisseur du panneau et le type:");

scanf("%lf %lf %lf %d", &P.l,&P.L,&P.e,&code);

switch (code){

case 0: strcpy(P.type,"PIN");

break;

case 1: strcpy(P.type, "CHENE");

break;

case 2: strcpy(P.type,"HETRE");

break;

default: strcpy(P.type,"INCONNU");

break;

return P;

void afficher (panneau P)

{ printf("le panneau P:\n");

printf("largeur: %lf\tlongueur: %lf\tepaisseur: %lf\ttype: %s\n",P.l,P.L,P.e,P.type);

double volume(panneau P){

double v= P.l*P.L*P.e ;

return v;

int main ()

{ panneau P;

P=saisie ();

afficher(P);

printf("v= %lf m", volume(P));

return 0;}
EX3:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct Produit {

double prix;

int quantite, reference;

char type[20];

}Produit;

Produit saisie (){

int code;

Produit P;

printf("entrer mes données du produit: ");

scanf("%lf %d %d %d", &P.prix,&P.reference,&P.quantite,&code );

switch (code){

case 1: strcpy(P.type,"Carte mère");

break;

case 2: strcpy(P.type, "Processeur");

break;

case 3: strcpy(P.type,"Barète mémoire");

break;

case 4: strcpy(P.type, "carte graphique");

break;

default: strcpy(P.type,"INCONNU");

break;

return P;

void afficher (Produit P){

printf("le produit P:\n");

printf("prix: %lf\tréference: %d\tquantité: %d\ttype: %s\n", P.prix,P.reference,P.quantite,P.type);

void commande() {

Produit P ;

printf("donner la quantité : ");

scanf("%d",&P.quantite);

printf ("saisir le type du produit ( Processeur , Barète mémoire ...): ");

scanf("%s",P.type);

afficher(P);

int main ()

Produit P;

P=saisie ();

commande();

return 0;}
EX4:
#include <stdio.h>
#include <stdlib.h>

#include <string.h>

typedef struct date {

char mois[13];

int jour, annee;

}date;

typedef struct employe {

char nom[15],prenom[15];

date dn , de;

}employe;

employe saisie (){

employe E;

printf("Nom: ");

fflush(stdin);

gets (E.nom);

printf("Prenom: ");

fflush(stdin);

gets(E.prenom);

printf("date de naissance: ");

scanf("%d %19s %d",&E.dn.jour,&E.dn.mois,&E.dn.annee);

printf("date d'embauche: ");

scanf("%d %19s %d",&E.de.jour,&E.de.mois,&E.de.annee);

return E;

void afficher (employe E){

printf("Nom: %s\tPrenom: %s\tdn: %d %s %d\tde: %d %s %d\n",E.nom,E.prenom,E.dn.jour,E.dn.mois,E.dn.annee,E.de.jour,E.de.mois,E.de.annee);

int main ()

employe E[4];

int i;

for (i=0;i<4;i++){

printf("entrer les donnees de %d employe\n", i+1);

E[i]=saisie();

for (i=0;i<4;i++)

printf("le %d employe :\n",i+1);

afficher(E[i]);

return 0;

}
EX5:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct etudiant {

char nom[15],prenom[15];

int CNE;

float notes[4], moyenne;

}etudiant;

etudiant saisie (){

etudiant E;

int i;

E.moyenne=0;

printf("Nom: ");

fflush(stdin);

gets (E.nom);

printf("Prenom: ");

fflush(stdin);

gets(E.prenom);

printf("CNE: ");

scanf("%d",&E.CNE);

for (i=0;i<4;i++){

printf("note %d: ",i+1);

scanf("%f",&E.notes[i]);

E.moyenne+=E.notes[i];

E.moyenne/=4;

return E;

void afficher (etudiant E){

int i;

printf("Nom: %s\tPrenom: %s\tmoyenne: %.2f\n",E.nom,E.prenom,E.moyenne);

for (i=0;i<4;i++)

printf("note[%d]: %.2f\n",i,E.notes[i]);

int main ()
{

etudiant E[5],x;

int i,j,max;

for (i=0;i<5;i++)

printf("entrer les donnees de %d etudiant\n", i+1);

E[i]=saisie();

for (i=0;i<4;i++)

max=i;

for (j=i+1;j<5;j++)

if(E[j].moyenne>E[max].moyenne)

max=j;

x=E[i];

E[i]=E[max];

E[max]=x;

for (i=0;i<5;i++)

printf("le %d etudiant: \n",i+1);

afficher (E[i]);

return 0;

}
EX6:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct nb_relationnel

int num,deno;

}nr;

nr saisie ()

nr N;

printf("entrer le num et le deno de votre nr: ");

scanf("%d %d",&N.num,&N.deno);

return N;

void afficher(nr N)

printf("%d/%d",N.num,N.deno);

nr multi(nr N1 , nr N2)

nr p;

p.num=N1.num*N2.num;

p.deno=N1.deno*N2.deno;

return p;

nr add(nr N1 , nr N2)

nr s;

if (N1.deno==N2.deno)

s.num=(N1.num)+(N2.num);

s.deno=N1.deno;

else

s.num=(N1.num*N2.deno)+(N2.num*N1.deno);

s.deno=N1.deno*N2.deno;

return s;

int main ()

{
nr N1,N2;

N1=saisie();

N2=saisie();

printf("N1= ");

afficher(N1);

printf("\tN2= ");

afficher(N2);

printf("\nS= ");

afficher(add(N1,N2));

printf("\tP= ");

afficher(multi(N1,N2));

return 0;

EX7:
#include <stdio.h>

#include <stdlib.h>

int Un(int n)

if (n==1)

return 1;

else

return Un(n-1)+n;

int main ()

int n;

scanf("%d",&n);

printf("la somme de Un= %d", Un(n));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int Un(int n)

if (n==1)

return 1;

else

return Un(pow(n-1,4))+pow(n,4);

}
int main ()

int n;

scanf("%d",&n);

printf("la somme de Un= %d", Un(n));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int fact(int n)

if (n==0)

return 1;

else

return n*fact(n-1);

float cos(int n , float x)

if (n==0 )

return 1;

else

return (pow(-1,n)*pow(x,2*n)/fact(2*n)) + cos(n-1,x) ;

int main ()

int n;

float x;

scanf("%d %f",&n,&x);

printf("Cos(%.2f)= %.2f",x,cos(n,x));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>
int fact(int n)

if (n==0)

return 1;

else

return n*fact(n-1);

float exp(int n , float x)

if (n==0 )

return 1;

else

return (pow(x,n)/fact(n)) + (n-1,x) ;

int main ()

int n;

float x;

scanf("%d %f",&n,&x);

printf("exp(%.2f)= %.2f",x,exp(n,x));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

float Xn (int n , float x)

if (x==0 && n==0)

exit(-1);

else

if(x!=0)

if (n==0 )

return 1;

else

return Xn(n-1,x)*x ;

int main ()
{

int n;

float x;

scanf("%d %f",&n,&x);

printf("%.2f^%d= %.2f",x,n,Xn(n,x));

return 0;

EX8:
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

float p(int n , float x )

float A[n];

if (n==1)

return A[0];

else

return p(n-1,x)*x+((A[n])*x + A[n-1]);

int main ()

float x;

int i,n;

printf("n= ");

scanf("%d",&n);

printf("x= ");

scanf("%f",&x);

float A[n];

for (i=0;i<=n;i++)

printf("A[%d]= ",i);

scanf("%f",&A+i);

printf("A%d[%.2f]= %.2f",n,x,p(n,x));

return 0;

#include <stdio.h>

int ackermann(int m, int n) {


if (m == 0) {

return n + 1;

} else if (m > 0 && n == 0) {

return ackermann(m - 1, 1);

} else {

return ackermann(m - 1, ackermann(m, n - 1));

int main() {

int m, n;

printf("Entrez les valeurs de m et n pour la fonction d'Ackermann : ");

scanf("%d %d", &m, &n);

int result = ackermann(m, n);

printf("Ackermann(%d, %d) = %d\n", m, n, result);

return 0;

EX1:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main ( )

FILE* f1;

FILE* f2;

FILE* f3;

FILE* f4;

char car,nom[20],prenom[20],ligne[100];

int i=0 , age;

f1=fopen("source.txt","wt+");

if (f1==NULL)

printf("ouverture impossible");

exit (0);

fprintf(f1,"nom prenom age\nAlaoui Ali 23\nFahmi Naima 20\nHasni Hassan 30\n");


f2=fopen("copie.txt","wt");

if (f2==NULL)

printf("ouverture impossible");

exit (0);

rewind(f1);

while (!feof(f1)) {

car = fgetc(f1);

fputc(car, f2);

i++;

printf("le nombre d'elements est : %d\n",i);

printf("donner le nouveau enregistrement: ");

scanf("%s %s %d",&nom,&prenom,&age);

fprintf(f1,"%s %s %d",nom,prenom,age);

f3=fopen("ajout.txt","wt");

if (f3==NULL)

printf("ouverture impossible");

exit (0);

rewind(f1);

while (!feof(f1))

car = fgetc(f1);

fputc(car, f3);

rewind(f1);

f4=fopen("temp.txt","wt+");

if (f4==NULL)

printf("ouverture impossible");

exit (0);

while (fgets(ligne, sizeof(ligne), f1) )

if (!strstr(ligne, "Hasni"))
{

fprintf(f4, "%s", ligne);

rewind(f4);

while (!feof(f4))

car = fgetc(f4);

printf ("%c",car);

fclose(f1);

fclose(f2);

fclose(f3);

fclose(f4);

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main ( )

FILE * f1;

int i;

char R[4],C[4],x;

f1=fopen("fichier.txt","wt+");

if (f1==NULL)

printf("ouverture echouee.");

exit(0);

printf("entrer 5 chaines de 3 caracteres: \n");

for(i=0;i<5;i++)

printf("entrer la %d chaine: ",i+1);

gets(C);

fprintf(f1,"%s\t",C);

rewind(f1);

while((x=fgetc(f1))!=EOF)

{
printf("%c",x);

printf("\najouter une chaine de 3 caracteres: ");

gets(C);

fprintf(f1,"%s",C);

rewind(f1);

while((x=fgetc(f1))!=EOF)

printf("%c",x);

rewind(f1);

printf("\ndonner une chaine a rechercher: ");

gets(R);

rewind(f1);

i=0;

while((x=fgetc(f1))!=EOF)

fscanf(f1,"%s",C);

if (strcmp(C,R)==0)

i++;

printf("la chaine existe");

break;

if(i==0)

printf("la chaine n'existe pas");

fclose(f1) ;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

FILE* f;

int i,n;

char c;

float T[n];

f=fopen("f.txt","rt");

if(f==NULL)

{
printf("ouverture echouee.");

exit(1);

if(fscanf(f,"%d",&n)==1)

for(i=0;i<n;i++)

fscanf(f,"%f",&T[i]);

printf("%.1f\t",T[i]);

fclose(f);

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

FILE *fp;

int i,x,T[3];

fp=fopen("f.txt","wb+");

if (fp==NULL){

printf("le fichier ne souvre pas");

exit(1);

for (i=0;i<3;i++) {

scanf("%d",&T[i]);

fwrite(T,sizeof(T[0]),3,fp);

rewind(fp);

while((fread(&x, sizeof(x), 1, fp) == 1))

printf("%d ",x);

fclose(fp);

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

int x,c=0,A[10],*p1,*p2;

for(p1 = A; p1 < A + 10 ; p1++)

scanf("%d",p1);

for (p1 = A; p1 < A + 10 ; p1++)

printf("%d ", *p1);

printf("\nentrer un entier : ");

scanf("%d",&x);

for(p1 = A , p2 = A ; p1 < A+10 ; p1++ )

if (*p1 != x)

*p2=*p1;

p2++;

c++;

for (p1 = A ; p1 < A + c; p1++)

printf("%d ", *p1);

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

int N,M,i,A[N+M],B[M],*pA,*pB;

printf("entrer N: ");

scanf("%d",&N);

printf("entrer M: ");

scanf("%d",&M);

for(i=0;i<N;i++)

printf("A[i]= ");

scanf("%d",&A[i]);

for(i=0;i<M;i++)

printf("B[i]= ");

scanf("%d",&B[i]);

for(pA=A+N,pB=B ; pA<A+N+M ; pA++)

*pA=*pB;

pB++;

for(pA=A;pA<A+N+M;pA++)

printf("%d\t",*pA);

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int somme (int *T,int taille)

int i,s=0;

for(i=0;i<taille;i++)

s+=T[i];

return s;

int main(){

int N,i,T[N];

scanf("%d",&N);

for(i=0;i<N;i++)

printf("T[%d]= ",i+1);

scanf("%d",&T[i]);

printf("\n%d",somme(T,N));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

int i,j,n,o=0;

char T[n+1];

printf("n= ");

scanf("%d",&n);

printf("T= ");

scanf("%s",T);

for (i=0,j=n-1;i<n;i++)

if (T[i]==T[j])

o++;

else

break;

j--;

}
if(o==n)

printf("ce mot est palindrome.");

else

printf("ce mot n'est pas palindrome.");

return 0;

Vous aimerez peut-être aussi