Ce diaporama a bien été signalé.

Corrigé langage c

1

Partager

Prochain SlideShare
Exercices en langage c
Exercices en langage c
Chargement dans…3
×
1 sur 16
1 sur 16

Plus De Contenu Connexe

Corrigé langage c

  1. 1. Pour + d’exercices http://coursuniversite.com/ programme 1: #include<conio.h> #include<stdio.h> main() /* normalement il fallait ecrire int main( int argc,char *argv[] )*/ { int i,n; printf(" donner un nombren"); scanf("%d", &n); printf(" la table de multiplication de %d est:n",n); for (i=1;i<11;i++){ printf("n%d*%d=%dn",n,i,n*i); } getch(); }
  2. 2. Pour + d’exercices http://coursuniversite.com/ programme 2: #include<stdio.h> #include<conio.h> main() { /* declaratios des variables*/ int i; /* alpha[27] est un tableau de caracteres*/ char cc,alph[27]={' ','a','b','c','d','e','f','g', 'h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; /* saisi de l'argument*/ printf("donner une lettre:n"); scanf("%c",&cc); for(i=0;i<27;i++) { /* affichage du rang de la lettre*/ if (alph[i]==cc) printf("le rang de la lettre est:n%d",i); } getch(); }
  3. 3. Pour + d’exercices http://coursuniversite.com/ programme 3: #include<stdio.h> #include<conio.h> main() { /* declarations des variables*/ int x,r,y,c; /* la saisi des deux enties*/ printf(" donner deux nombres:n"); scanf("%d %d", &x, &y); /* la recherche du pgcd puis l'affichage */ if(x<y){ c=x; x=y; y=c; } (y==0){ printf(" le pgcd est: %dn",x); } else{ r=x%y; if (r==0){ printf(" le pgcd est: %dn",y); } while (r!=0){ /* cette ligne veut dire : tant que r est different de 0 fair les instructions en bas*/ x=y; y=r; r=x%y; /* l'operateur % represente le reste de la division entiere; r c'est le reste de la division de x et y */ } printf(" le pgcd est: %dn",y); getch(); } }
  4. 4. Pour + d’exercices http://coursuniversite.com/ programme 4: #include<stdio.h> #include<conio.h> #include<malloc.h> main() { /* declarations des variables*/ double max,*tab; int m,i,j,n; /* la saisi de la matrice de n lignes et m colonnes */ printf(" donner le nombre de lignes de la matrice: n"); scanf("%d", &n); printf(" donner le nombre de colonnes de la matrice:n"); scanf("%d", &m); tab=(double*)calloc(n*m,sizeof(double)); for (i=0;i<n*m;i++){ printf(" donnez un element :n"); scanf("%lf", tab+i); } /* l'affichage de la matrice*/ printf(" la matrice est:n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) printf(" %f ", *(tab+i*n+j)); printf("n"); } /* la rechreche du maximum de tout les elements de la matrices*/ max=*(tab); for (i=0;i<n;i++) { for (j=0;j<m;j++) if (max<*(tab+i*n+j)) max=*(tab+i*n+j); } /* l'affichage du maximum*/ printf("n"); printf(" le max des elements est: %fn", max); getch(); }
  5. 5. programme5: (avec pointeurs) #include<stdio.h> #include<conio.h> http://coursuniversite.com/ Pour + d’exercices #include<malloc.h> main() { /* decleretion des varaibles*/ int i,l,n,m,k,u,j; double *t0,*t1,*p,s; /* la declaration et la saisi de la premiere matrice*/ printf(" donnez le nombre de lignes de la premiere matrice: n"); scanf("%d", &u); printf(" donnez le nombre de colonnes de la premiere matrice:n"); scanf("%d", &n); /* la fonction calloc alloue un espace mémoire pour le tableau t0 */ t0=(double*)calloc(n*u,sizeof(double)); for (j=0;j<n*u;j++){ printf(" donnez un element:n"); scanf("%lf",t0+j); } /* l'affichage de la premierre matrice*/ printf(" la premiere matrice est:n"); for (i=0;i<u;i++) { for (j=0;j<n;j++) printf(" %f ", *(t0+i*u+j)); printf("n"); } printf("n"); /* la declaration et la saisi de la deuxieme matrice*/ printf(" donnez le nombre de lignes de la deuxieme matrice:n"); scanf("%d", &m); printf(" donnez le nombre de colonnes de la deuxieme matrice:n"); scanf("%d", &k); if (n!=m) printf(" le produit n'est pas possibe car le nombren de colonnes de la premiere" " matrice n'est pasn egale au nombre de lignes de la deuxieme"); else { t1=(double*)calloc(m*k,sizeof(double)); p =(double*)calloc(k*u,sizeof(double)); for (j=0;j<k*m;j++){ printf(" donnez un element:n"); scanf("%lf", t1+j); } /* l'affichage de la deuxieme matrice*/ printf(" la deuxieme matrice est:n"); for (i=0;i<m;i++){ for (j=0;j<k;j++) printf(" %f ", *(t1+i*m+j)); printf("n"); } /* calcul et affichage de la matrice produit*/ for (i=0;i<u;i++) { for (j=0;j<k;j++) { s=0; for (l=0;l<n;l++) s=s+*(t0+i*u+l)*(*(t1+l*n+j));
  6. 6. Pour + d’exercices http://coursuniversite.com/ programme 5: (sans pointeurs) #include<stdio.h> #include<conio.h> #include<stdlib.h> main() { int i,s,l,n,m,k,u,j; printf(" donner le nombre de lignes de la premiere matrice: n"); scanf("%d", &u); printf(" donner le nombre de colonnes de la premiere matrice:n"); scanf("%d", &n); int tab0[u][n]; /* lecture de la premiere matrice*/ for (i=0;i<u;i++){ for (j=0;j<n;j++){ printf(" donner l'element [%d][%d]:n",i,j); scanf("%d", &tab0[i][j]); } } /* affichage de la premiere matrice*/ printf(" la premiere matrice est:n"); for (i=0;i<u;i++) { for (j=0;j<n;j++) printf(" %d ", tab0[i][j]); printf("n"); } printf("n"); /* lecture de la deuxieme matrice*/ printf(" donner le nombre de lignes de la deuxieme matrice:n"); scanf("%d", &m); printf(" donner le nombre de colonnes de la deuxieme matrice:n"); scanf("%d", &k); if (n!=m){ printf(" le produit n'est pas possibe car le nombren de colonnes de la premiere matrice n'est pasn egale au nombre de lignes de la deuxieme"); } else { int tab1[m][k],prod[u][k]; if (n=m){ for (i=0;i<m;i++){ for (j=0;j<k;j++){ printf(" donner l'element [%d][%d] de la deuxieme matrice:n",i,j); scanf("%d", &tab1[i][j]); } } /* affichage de la deuxieme matrice*/ printf(" la deuxieme matrice est:n"); for (i=0;i<m;i++){
  7. 7. programme 6: Pour + d’exercices http://coursuniversite.com/ #include<stdio.h> #include<conio.h> #include<malloc.h> for (j=0;j<k;j++){ main() printf(" %d ", tab1[i][j]); { } int printf("n");} l,m,cc,n,i,j,k; double s; de la matrice produit*/ /* calcul double (i=0;i<u;i++) { for *mat,*prod,*result; /* lecture de l'ordre de la matrice carée */ for (j=0;j<k;j++) { printf("donnez le nombre de lignes et de colonnes de le matrice carree:n"); s=0; scanf("%d",&n); for (l=0;l<n;l++){ mat=(double*)calloc(n*n,sizeof(double)); s=s+tab0[i][l]*tab1[l][j];} prod=(double*)calloc(n*n,sizeof(double)); prod[i][j]=s; }} result=(double*)calloc(n*n,sizeof(double)); /* lecture de la matrice*/ printf("n"); for(i=0;i<n*n;i++){ la matrice produit*/ /* affichage de printf("donnezproduit des deux matrices est:n"); printf("le un elementn"); scanf("%lf",mat+i); { for (i=0;i<u;i++) } for (j=0;j<k;j++) /* affichage %d ",prod[i][j]); printf(" de la matrice */ printf(" la matrice est:n"); printf("n"); for(i=0;i<n;i++){ } for(j=0;j<n;j++) } printf("%f ",*(mat+i*n+j)); getch(); } printf("n"); } } do{ k=2; printf(" donnez la puissance:n"); scanf("%d",&m); /* calcul de la puissance */ for(i=0;i<n;i++){ for(j=0;j<n;j++){ s=0; for(l=0;l<n;l++){ s+=*(mat+i*n+l)*(*(mat+l*n+j)); } *(prod+i*n+j)=s; } } while (k<m){ for(i=0;i<n;i++){ for(j=0;j<n;j++){ s=0; for(l=0;l<n;l++) s+=*(prod+i*n+l)*(*(mat+l*n+j)); *(result+i*n+j)=s; } } for(i=0;i<n;i++){ for(j=0;j<n;j++) *(prod+i*n+j)=*(result+i*n+j); } k++; } /* affichage de la matrice resultat */ printf("la matrice a la puissance %d est:n",m);
  8. 8. Pour + d’exercices http://coursuniversite.com/ programme 7: #include<stdio.h> #include<conio.h> #include<math.h> double f( double x) { /* ici vous ecrivez votre fonction */ return 9*pow(x,5.5)-x*x*x-5*x*x+2*x-3; } main() { /* a et b representent l'intervalle d'étude et on initialise le " l "à une quelconque valeur*/ int i,j,n,a=-100,b=100,k,l=44; char c; /* plus la precision est grande moins il y a d'erreurs*/ printf(" choisissez la precision des calculs:n"); scanf("%d",&n); int m=pow(10,-n); for (i=a;i<=b;i++) { for (j=1;j<=pow(10,n);j++) { if (f(i+(j-1)*m)<f(i+j*m)) k=1; c='+'; if (f(i+(j-1)*m)==f(i+j*m)) k=0; c='='; if (f(i+(j-1)*m)>f(i+j*m)) k=-1; c='-'; if(l!=k) printf("(%f) %c ",i+(j-1)*m,c); l=k; }
  9. 9. Pour + d’exercices http://coursuniversite.com/ } printf(" (%d)",b); printf("nn+ veut dire croissanten- veut dire decroissanten= veut dire constante"); getch(); } programme 8: #include<stdio.h> #include<conio.h> /* la fonction premier*/ int premier(int n){ int i; for (i=2;i<=n/2;i++){ if (n%i==0) return 0; } return 1; } main() { int n,p; n=2; p=0; while (p<80){ if (premier(n)) printf("%dn",n); p++; n++; if (premier(n)==0) n++; } getch(); }
  10. 10. Pour + d’exercices http://coursuniversite.com/ programme 9: #include<stdio.h> #include<conio.h> #include<math.h> main() { int n,q,r,m,i=0,j; printf("donner un nombre:n"); scanf("%d",&n); m=int(log(n)/log(2))+1; int tab[m]; for(j=0;j<2;j++) { if(n==j) printf(" le binaire coresspondant est:n%d",j); } if(n>2){ do{ q=n/2; r=n%2; n=q; tab[m-1+i]=r; i--; } while(q>=2); tab[0]=q; printf(" le binaire coresspondant est:n"); for(i=0;i<m;i++){ printf("%d",tab[i]); } } getch(); }
  11. 11. Pour + d’exercices http://coursuniversite.com/ programme 10: #include<stdio.h> #include<conio.h> main() { int n,i,s; n=6; while (n<1000) { s=0; for (i=1;i<=n/2;i++) { if (n%i==0) s=s+i; } if (s==n) printf(" %dn", n); n=n+2; } getch(); }
  12. 12. Pour + d’exercices http://coursuniversite.com/ programme 11: #include<stdio.h> #include<conio.h> #include<string> main() { int i,j,n; printf("donner la puissance (max 9):n"); scanf("%d",&n); int pas[n+1][n+1]; for(i=0;i<n+1;i++){ pas[i][0]=1; pas[i][i]=1; } for(i=2;i<n+1;i++){ for(j=1;j<i;j++){ pas[i][j]=pas[i-1][j-1]+pas[i-1][j]; } } for(i=0;i<n+1;i++){ printf("n=%d ",i); for(j=0;j<n+1;j++){ printf(" %d",pas[i][j]);}printf("n"); } getch(); }
  13. 13. Pour + d’exercices http://coursuniversite.com/ programme 12: #include<stdio.h> #include<conio.h> #include<math.h> /* ici vous entrez votre fonction*/ float f(float x){ return exp(x)-x*x+3*x-2; } main() { int k; float p,a,b; /* vous entrez l'intervalle de recherche*/ printf("donnez l'intervalle de recherche:n"); scanf("%f %f",&a,&b); /* vous faites entrez la precision*/ printf("choisissez la precision <de 1 a 10>:n"); scanf("%d",&k); p=(a+b)/2.; if (f(a)==0) printf("la valeur approchée de la solution est %f",f(a)); if (f(b)==0) printf("la valeur approchée de la solution est %f",f(b)); if (f(a)*f(b)<0){ while (fabs(a-b)>pow(10,-k)){ /* fabs c'est a fonction valeur absolue qui se trouve dans la bibliotheque "maths.h"*/ if(f(p)==0) printf("nla valeur approchée de la solution est %f",p); if(f(a)*f(p)<0) b=p; if(f(p)*f(b)<0) a=p; p=(a+b)/2.; } printf("nla valeur approche de la solution est compris entre %f et %f",b,a); } else printf("n choisissez un autre intervalle"); getch(); }
  14. 14. Pour + d’exercices http://coursuniversite.com/ programme 13: #include<stdio.h> #include<conio.h> #include<string> /* la fonction "echange" echange la valeur de deux variables*/ void echange(int *x,int *y){ /* elle utilise la notion de pointeur*/ int c; c=*x; *x=*y; *y=c;} main() { int i,j,n,l=0; /* un tableau unidimentienel*/ printf("donnez la taille du tableau:n"); scanf("%d",&n); int t[n]; /* initialisation du tableau */ for(i=0;i<n;i++){ printf(" donnez l'element [%d]:n",i+1); scanf("%d",&t[i]); } printf("nle tableau initial est:n"); for(i=0;i<n;i++){ programme 14: printf("%d ",t[i]); #include<stdio.h>} #include<conio.h>on fait le trie*/ /* ici for(i=l;i<n;i++){ #include<string> for(j=l;j<n && t[i]<=t[j];j++); main() { if(j==n){ echange(&t[i],&t[l]); int i,j,l,h,trouve; l++; char txt[1000], mot[30], em[30]; i=l-1; printf("entrez le text:n"); gets(txt); } } l=strlen(txt); printf("nn"); printf("entrez le mot a eliminer:n"); gets(mot); printf("le tableau triee est:n"); for(i=0;i<n;i++){ h=strlen(mot); printf("%d ",t[i]); for(i=0;i<l;i++){ } j=0; getch(); while(mot[j]==txt[i] && j<h){ } j++; i++; trouve=1; } if((j==h) && (trouve==1)){ for(j=0;j<l;j++){ txt[i+j-h]=txt[i+j]; } } } puts(txt); getch(); }
  15. 15. Pour + d’exercices http://coursuniversite.com/
  16. 16. programme 15: attention vous devez d'abord creer un fichier texte dans le disque C que j'ai nommer ici "magasin.txt" et vous allez Pour + d’exercices http://coursuniversite.com/ le remplir avec les nom des produits ,un nom par ligne ! comme: lait sucre farine huile pain bonbon sardine #include <stdio.h> #include <conio.h> main() { int lecture;/* pour lire le fichier*/ int compteur=0,i=0,ok=1,j=0,indice,client=1,k=0; // j'ai mis des prix au hasard double prix[10]={20,15.5,99.99,45.5,14.2,115,2.75,88,35.12,10.94},total=0; // une structure est une bonne methode d'organisation struct produit { int numero[20]; int quantite[20]; int nb_produit; double recette; }vente[100]; // un modele de structure de type produit int nb_produit=0; FILE* fichier; // fichier est un pointeur vers un fichier text que vous devez creer while(client==1){ printf("vente numero: %dn",i+1); while(ok==1){ /*le client passe a la caisse */ printf("entrez le numero du produitn"); scanf("%d",&vente[i].numero[j]); printf("entez la quantite acheten"); scanf("%d",&vente[i].quantite[j]); total+=prix[vente[i].numero[j]]*vente[i].quantite[j]; printf("pour ajouter un autre produit taper 1 sinon tapez 0n"); scanf("%d",&ok); j++; nb_produit++; }vente[i].recette=total; printf("le total a payer est %f",total); // y a-t-il de nouveaux clients ? printf("nvoulez vous entrer un nouveau client? si oui tapez 1 sinon tapez 0n"); scanf("%d",&client); i++; // on initialise tout ok=1; total=0; j=0; }do{ printf("nvoulez vous afficher une liste de vente?n si oui tapez le numero de la vente sinon tapez 0 n"); scanf("%d",&indice); printf("la recette est: %fn et il a acheter ces produits:n",vente[indice-1].recette) ; fichier= fopen("C:magasin.txt","r"); /* le fichier texte que vous devez creer sur le

×