Vous êtes sur la page 1sur 15

1

Tp1 : programme permet d afficher ceci est mon premier programme


#include<stdio.h> #include<conio.h> main(){ puts("ceci est mon premier programme en c:\n"); getch(); return 0;} Tp2 : programme qui permet de calculer la moyenne des trois notes avec 3 coefficients #include<stdio.h> #include<conio.h> main(){ float N1,N2,N3,m,s; int C1,C2,C3; printf("donner N1,N2,N3:\n"); scanf("%f %f %f",&N1,&N2,&N3); printf("donner C1,C2,C3:\n"); scanf("%i %i %i",&C1,&C2,&C3); s=((N1*C1)+(N2*C2)+(N3*C3)); m=s/(C1+C2+C3); printf("la moyenne est %.2f",m); getch(); return 0;} Tp3 : Ecrivez un programme qui lit trois valeurs entires (A, B et C) au clavier et qui affiche la plus grande des trois valeurs. : #include<stdio.h> #include<conio.h> main(){ int N,Max,i; Max=0 for(i=1;i<=3;i++){ printf("donnez un nombre:"); scanf("%i",&N); if(i==1||N>Max) Max=N ;} printf("le nombre le plus grand est %i",Max); getch(); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

2
Tp4 : Ecrivez un programme qui permet de calculer la surface d une cercle : #include<stdio.h> #include<math.h> #include<conio.h> main() { float r,s,pi; pi=3,14159; printf("donner la valeur de r:\n"); scanf("%f",&r); s=pi*pow(r,2); printf("la surface est %.2f",s); getch(); return 0 ;} Tp5 : Ecrivez un program permet d Evaluer les expressions suivantes : #include<stdio.h> #include<conio.h> main(){ int n,x; n=5; x=n++; printf("\n le resultat corespandont est %d %d",x,n); x=++n; printf("\n le resultat corespandont est %d %d",x,n); x=n--; printf("\n le resultat corespandont est %d %d",x,n); x=--n; printf("\n le resultat corespandont est %d %d",x,n); getch(); return 0 ;} Tp7 : Ecrire un programme qui calcule le prix TTC d'un article partir du prix net et pourcentage de TVA ajouter : #include<stdio.h> #include<conio.h> #define tva 20 main(){ float ttc,ht; printf("donner le prix ht:\n"); scanf("%f",&ht); ttc=ht*(1+tva/100.); printf("ttc est %.2f",ttc); getch(); return 0; }

Technique des rseaux infor matiques

ISGIMarrakech

3
Tp6 : Evaluer les expressions suivantes en supposant : a=20, b=5, c=-10, d=2, x=12, y=15; #include<stdio.h> #include<conio.h> main(){ int a,b,c,d,x,y,A,B,C,D,E,F,H,T,K,L,M,N,G; a=20,b=5,c=-10,d=2,x=12,y=15; A=(5*x)+2*((3*b)+4); printf("\n le resultat est %d",A); B=(5*(x+2)*3)*(b+4); printf("\n le resultat est %d",B); C=a==(b=5); printf("\n le resultat est %d",C); D=a+=(x+5); printf("\n le resultat est %d",D); E=a!=(c*=(-d)); printf("\n le resultat est %d",E); F=a*=c+(x-d); printf("\n le resultat est %d",F); G=a%=d++; printf("\n le resultat est %d",G); H=a%=++d; printf("\n le resultat est %d",H); T=(x++)*(a+c); printf("\n le resultat est %d",T); K=a=x*(b<c)+4*!(b<c); printf("\n le resultat est %d",K); L=!(x-d+c)||d; printf("\n le resultat est %d",L); M=a&&b||!0&&c&&!d; printf("\n le resultat est %d",M); N=((a&&b)||(!0&&c))&&!d; printf("\n le resultat est %d",N); getch(); return 0;} TP 7 : Ecrivez un programme qui lit trois valeurs entires (A, B et C) au clavier et qui affiche la plus grande des trois : #include<stdio.h> #include<conio.h> main(){ int A, B, C; int MAX; printf("Introduisez trois nombres entiers :"); scanf("%i %i %i", &A, &B, &C); MAX = (A>B) ? A : B; MAX = (MAX>C) ? MAX : C; printf("La valeur maximale est %i\n", MAX); getch(); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

4
TP 8 : Ecrivez un programme qui lit deux valeurs entires (A et B) au clavier et qui affiche le signe du produit de A et B : #include <stdio.h> #include<conio.h> main(){ int A, B; printf("donner deux nombres entiers :\n"); scanf("%i %i",&A,&B); if ((A>0 && B>0) || (A<0 && B<0)) printf("Le signe du produit %i * %i est positif\n", A, B); else if ((A<0 && B>0) || (A>0 && B<0)) printf("Le signe du produit %i * %i est negatif\n", A, B); else printf("Le produit %i * %i est zero\n", A, B); getch(); return 0;} TP 9 : Ecrivez un programme qui calcule les solutions relles d'une quation du second degr ax2+bx+c = 0 #include <stdio.h> #include<conio.h> #include <math.h> main(){ long A, B, C; double d,x1,x2,x; /* DELTA */ puts("degre de la forme ax^2 + bx + c = 0 \n\n"); printf("donnez les valeurs pour a, b, et c : "); scanf("%i %i %i", &A, &B, &C); d = pow(B,2) - 4*A*C; if (d>0){ x1=-B+sqrt(d)/2*A; x2=-B-sqrt(d)/2*A; printf("Les solutions relles de cette equation sont %f %f",x1,x2);} else if (d==0){ x=-B/(2*A); printf("la solution est %f",x);} else printf("Cette quation n'a pas de solutions relles.\n");} getch(); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

5
TP 10 : Ecrivez un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur produit et leur moyenne. Choisissez un type appropri pour les valeurs afficher. Le nombre N est entrer au clavier. Rsolvez ce problme : #include <stdio.h> main(){ int N; /* nombre de donnes */ int NOMB; /* nombre courant */ int I; /* compteur */ long SOM; /* la somme des nombres entrs */ double prod; /* le produit des nombres entrs */ printf("Nombre de donnes : "); scanf("%d", &N); SOM=0; prod=1; I=1; while(I<=N){ printf("%d. nombre : ", I); scanf("%d", &NOMB); som+= NOMB; prod*= NOMB; I++;} printf("La somme des %d nombres est %ld \n", N, som); printf("Le produit des %d nombres est %.0f\n", N, prod); printf("La moyenne des %d nombres est %.4f\n", N, (float)som/N); return 0;} TP 11 : Calculez la factorielle N!= 123...(N-1)N d'un entier naturel N en respectant que 0!=1. #include <stdio.h> #include<conio.h> main(){ int N; int I; long FACT=1; do{ printf("Entrez un entier naturel : "); scanf("%d", &N);} while (N<0); for (I=1 ; I<=N ; I++){ FACT*=I;} printf ("le factoruelle est %2.ld",FACT); getch(); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

6
TP 12 : Calculez la somme des N premiers termes de la srie harmonique : 1 + 1/2 + 1/3 + ... + 1/N : #include <stdio.h> #include<conio.h> main(){ int N; /* nombre de termes calculer */ int I; /* compteur pour la boucle */ float SOM; /* Type float cause de la prcision du rsultat. */ do{ printf ("Nombre de termes: "); scanf ("%d", &N);} while (N<1); for (SOM=0, I=1 ; I<=N ; I++) SOM += (float)1/I; printf("La somme des %d premiers termes est %f \n", N, SOM); getch(); return 0;}
TP 14 : programme affiche un triangle des toiles:

#include<stdio.h> #include<conio.h> main(){ int i,j,N; printf("donner hauteur N:\n"); scanf("%i",&N); for(i=1;i<=N;i++) { for(j=i;j<=N;j++){ printf("*"); printf("\n");} getch(); return 0;}

TP 15: programme qui donne la racine d une valeur entre par l utilisateur
#include <stdio.h> #include <math.h> main(){ float N; { printf("donnez la valeur de N\n"); scanf("%f",&N); } while(N<=0); printf("la racine carre de %.2f est %.2f\n",N,sqrt(N)); getch(); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

7
TP 16 : Ecrire un programme qui range les lments d'un tableau A du type int dans l'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et une variable numrique AIDE pour la permutation des lments : #include<stdio.h> #include<conio.h> main(){ int A[50]; int N; int AIDE; int *P1, *P2; printf("Dimension du tableau (max.50) : "); scanf("%d", &N ); for (P1=A; P1<A+N; P1++){ printf("Elment %d : ", P1-A); scanf("%d", P1);} for (P1=A; P1<A+N; P1++) printf("%d ", *P1); printf("\n"); for (P1=A,P2=A+(N-1); P1<P2; P1++,P2--){ AIDE = *P1; *P1 = *P2; *P2 = AIDE;} for (P1=A; P1<A+N; P1++) printf("%d ", *P1); printf("\n"); getch(); return 0;} TP 17 : Ecrire un programme qui lit deux tableaux d'entiers A et B et leurs dimensions N et M au clavier et qui ajoute les lments de B la fin de A. Utiliser deux pointeurs PA et PB pour le transfer et afficher le tableau rsultant A. #include <stdio.h> #include<conio.h> main(){ int A[100], B[50]; int N, M; int *PA,*PB; printf("Dimension du tableau A (max.50) : "); scanf("%d", &N ); for (PA=A; PA<A+N; PA++){ printf("Elment %d : ", PA-A); scanf("%d", PA);} printf("Dimension du tableau B (max.50) : "); scanf("%d", &M ); for (PB=B; PB<B+M; PB++){ printf("Elment %d : ", PB-B); scanf("%d", PB);} printf("Tableau donn A :\n"); for (PA=A; PA<A+N; PA++) printf("%d ", *PA); printf("\n");

Technique des rseaux infor matiques

ISGIMarrakech

8
printf("Tableau donn B :\n"); for (PB=B; PB<B+M; PB++) printf("%d ", *PB); printf("\n"); for (PA=A+N,PB=B ; PB<B+M ; PA++,PB++) *PA = *PB; N += M; printf("Tableau rsultat A :\n"); for (PA=A; PA<A+N; PA++) printf("%d ", *PA); printf("\n"); getch(); return 0;} TP 18: Ecrire un programme qui Affiche un triangle isocle form d'toiles de N lignes: #include <stdio.h> main(){ int LIG; /* nombre de lignes */ int L; /* compteur des lignes */ int ESP; /* nombre d'espaces */ int I; /* compteur des caractres */ do{ printf("Nombres de lignes : "); scanf("%d", &LIG);} while (LIG<1 || LIG>20); for (L=0 ; L<LIG ; L++){ ESP = LIG-L-1; for (I=0 ; I<ESP ; I++) printf(' '); for (I=0 ; I<2*L+1 ; I++) printf('*'); printf('\n');} return 0; }

Technique des rseaux infor matiques

ISGIMarrakech

9
TP 19 : Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entres au clavier et affiche le tableau. Copiez ensuite toutes les composantes strictement positives dans un deuxime tableau TPOS et toutes les valeurs strictement ngatives dans un troisime tableau TNEG. Afficher les tableaux TPOS et TNEG #include <stdio.h> main(){ int T[50], TPOS[50], TNEG[50]; int N, NPOS, NNEG; int I; printf("Dimension du tableau (max.50) : "); scanf("%d", &N ); for (I=0; I<N; I++){ printf("Elment %d : ", I); scanf("%d", &T[I]);} printf("Tableau donn :\n"); for (I=0; I<N; I++) printf("%d ", T[I]); printf("\n"); NPOS=0; NNEG=0; for (I=0; I<N; I++) { if (T[I]>0) { TPOS[NPOS]=T[I]; NPOS++;} if (T[I]<0) TNEG[NNEG]=T[I]; NNEG++;}} printf("Tableau TPOS :\n"); for (I=0; I<NPOS; I++) printf("%d ", TPOS[I]); printf("\n"); printf("Tableau TNEG :\n"); for (I=0; I<NNEG; I++) printf("%d ", TNEG[I]); printf("\n"); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

10
TP 20 : structure personne : #include<stdio.h> #include<conio.h> #include<string.h> main(){ struct personne { char nom[10]; char prenom[10]; int age; float note;}; struct personne x; printf("sisaie les infos du personne:\n"); printf("NOM: "); gets(x.nom); printf("PRENOM: "); gets(x.prenom); printf("AGE: "); scanf("%d",&x.age); printf("NOTE: "); scanf("%f",&x.note); printf("\n\nLECTURE DE LA FICHE:\n"); printf("NOM: %s PRENOM: %s AGE: %2d NOTE: %4.1f", x.nom,x.prenom,x.age,x.note); printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); return 0;} TP 21 : Ecrire un programme qui lit une chane de caractres CH et dtermine la longueur de la chane l'aide d'un pointeur P. Le programme n'utilisera pas de variables numriques. #include <stdio.h> main(){ char CH[101]; char *P; printf("Entrez une ligne de texte (max.100 caractres) :\n"); gets(CH); for (P=CH; *P; P++) printf("La chane \"%s\" est forme de %d caractres.\n",CH, P-CH); return 0;} TP 22 : Dterminer les valeurs ou adresses fournissent ces expressions: #include<stdio.h> #include<conio.h> main(){ int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int Z,B,C,D,E,F,G,H; int *P; P = A; Z=*P+2; printf("\n le rsultat est %d",Z); B=*(P+2); printf("\n le resultat est %d",B); C=&P+1; printf("\n le resultat est %d",C); D=&A[4]-3;

Technique des rseaux infor matiques

ISGIMarrakech

11
printf("\n le resultat est %d",D); E=A+3; printf("\n le resultat est %d",E); F=&A[7]-P; printf("\n le resultat est %d",F); G=P+(*P-10); printf("\n le resultat est %d",G); H=*(P+*(P+8)-A[7]); printf("\n le resultat est %d",H); getch(); return 0;} TP 23: programme comporte la fonctionnalit d une calculatrice (a l aide d une structure de choix) #include<stdio.h> #include<conio.h> main() { int a,b,d,y; char operateur; printf("Entrez un oprateur (+, -,* ou /):"); scanf("%c",&operateur); printf("Entrez deux entiers:"); scanf("%d %d",&b,&a); switch(operateur){ case'-' : y=a-b; printf("%d",y); break; case'+' : y=a+b; printf("%d",y); break; case'*' : y=a*b; printf("%d",y); break; case'/' : y=a/b; printf("%d",y); break; default : printf("oprateur inconnu\n"); break;} getch(); return 0;} TP 24 : Ecrire un programme qui permute et affiche les valeurs de trois variables A, B, C de type entier qui sont entres au clavier : #include <stdio.h> main(){ int A, B, C, AIDE; printf("Introduisez trois nombres (A, B, C) : "); scanf("%i %i %i", &A, &B, &C); /* Affichage l'aide de tabulations */ printf("A = %i\tB = %i\tC = %i\n", A, B, C); AIDE=A; A=C; C=B; B=AIDE; printf("A = %i\tB = %i\tC = %i\n", A, B, C); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

12
TP 25: Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes),remplit le tableau par des valeurs entres au clavier et affiche le tableau. Calculer et afficher ensuite la somme des lments du tableau: #include <stdio.h> main(){ /* Dclarations */ int T[50]; /* tableau donn */ int N; /* dimension */ int I; /* indice courant */ long SOM; /* somme des lments - type long cause */ /* de la grandeur prvisible du rsultat. */ /* Saisie des donnes */ printf("Dimension du tableau (max.50) : "); scanf("%d", &N ); for (I=0; I<N; I++){ printf("Elment %d : ", I); scanf("%d", &T[I]);} /* Affichage du tableau */ printf("Tableau donn :\n"); for (I=0; I<N; I++) printf("%d ", T[I]); printf("\n"); /* Calcul de la somme */ for (SOM=0, I=0; I<N; I++) SOM += T[I]; printf("Somme de lments : %ld\n", SOM); return 0;} TP 26: programme qui utilise les structures pour afficher le nom, la ville,la date de naissance du personne : #include<stdio.h> #include<conio.h> #include<string.h> main(){ struct etatcivil{ char nom[20]; char ville[20]; long annee; }; struct etatcivil t[10]; int i; printf("sisaie les infos du personne:\n"); for(i=1;i<=10;i++){ printf("nom de personne %d ",i); gets(t[i].nom); printf("ville de personne %d ",i); gets(t[i].ville); printf("annee de naissance de personne %d ",i); scanf("%lf",&t[i].annee);} printf("afichage:\n"); for(i=1;i<=10;i++) printf(" la personne %d a un nom: %s ville: %s annee: %lf ", t[i].nom,t[i].ville,t[i].annee); printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE ");

Technique des rseaux infor matiques

ISGIMarrakech

13
getch(); return 0;}

TP 27: Ecrire un programme qui affiche le quotient et le reste de la division entire de deux nombres
entiers entrs au clavier ainsi que le quotient rationnel de ces nombres : #include<stdio.h> #include<conio.h> main(){ int a,b,q; float r; printf("donner a et b :\n"); scanf("%i %i",&a,&b); r=a%b; q=a/b; printf("le resultat est %2.f %i",r,q); getch(); return 0;} TP 28 : programme qui calcule la moyenne de la classe: #include<stdio.h> #include<conio.h> main() { int i,N; float n,M,s; printf("donner le nombre de notes N:\n"); scanf("%i",&N); for(i=1;i<=N;i++) { printf("donner la note n %d \n",i); scanf("%d",&n); s=0; s=s+n; } M=s/N; printf("la somme des notes est: %f",s); printf("la moyenne des notes est: %f",M); getch(); return 0;} TP 29 : programme dtermine la nature d un nombre entre par l utilisateur soit (pair /impair )
#include <stdio.h> #include <conio.h> main(){ int n,r; printf("entrez la valeur de n:\n"); scanf("%i",&n); r=n%2; if(r==0) printf("n est pair"); else printf("n est impair");} getch(); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

14
TP 30 : Ecrire un programme qui lit les dimensions Z et M d'un tableau T deux dimensions du type int (dimensions maximales: 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entres au clavier et afficher le tableau ainsi que la somme de tous ses lments. #include <stdio.h> main(){ int T[50][50]; /* tableau donn */ int Z,M ; /* dimensions */ int I, J; long SOM; /* Saisie des donnes */ printf("Nombre de lignes (max.50) : "); scanf("%d", &Z ); printf("Nombre de colonnes (max.50) : "); scanf("%d", &L ); for (I=0; I<Z; I++) for (J=0; J<M; J++) { printf("Elment[%d][%d] : ",I,J); scanf("%d", &T[I][J]); } /* Affichage du tableau */ printf("Tableau donn :\n"); for (I=0; I<Z; I++) { for (J=0; J<M; J++) printf("%7d", T[I][J]); printf("\n"); } /* Calcul de la somme */ for (SOM=0, I=0; I<Z; I++) for (J=0; J<M; J++) SOM += T[I][J]; /* Affichage du rsultat */ printf("Somme des lments : %ld\n", SOM); return 0;}

Technique des rseaux infor matiques

ISGIMarrakech

15

Technique des rseaux infor matiques

ISGIMarrakech

Vous aimerez peut-être aussi