#include<stdio.h> void main(void) { float somme,vrai,debut=1000,pas=0.001; int i,nb=10000; somme=debut; for(i=0;i<nb;i++) somme+=pas; vrai=debut+(pas*nb); printf("on trouve %f (au lieu de %f)\n",somme, vrai); }
#include <stdio.h> #include <math.h> /* pour sqrt, la racine carrée */ void main (void) { float a,b,c; float delta,r1,r2; printf("résolution de ax2 + bx + c \n"); printf("entrez la valeur de a : "); scanf("%f",&a); printf("entrez la valeur de b : "); scanf("%f",&b); printf("entrez la valeur de c : "); scanf("%f",&c); if (a==0) /* sinon diviser par 2*a risque de poser problème */ { if (b!=0) printf("une racine simple x=%f\n",-c/b); else if (c==0) printf("il y a une infinité de solutions à Ox=0\n"); else printf("aucune solution à l'équation %f=0\n",c); } else { delta=b*b-4*a*c; /* b*b : c'est comme cela qu'on calcule un carré */ if (delta==0) printf("une racine double : %f\n",-b/(2*a)); else if (delta<0) puts("aucune racine réelle (mais complexes)"); else { r1=(-b-sqrt(delta))/(2*a); r2=(-b+sqrt(delta))/(2*a); printf("il y a 2 racines réelles : x1=%f et x2=%f\n",r1,r2); } } }
#include <stdio.h> void main(void) { float b,resultat; char reponse; printf("première valeur ? "); scanf("%f",&resultat); printf("opération ? "); scanf(" %c",&reponse); do { printf("valeur ?"); scanf("%f",&b); if (reponse=='/') { if(b==0) {printf("\nErreur, division par 0 interdite\n");resultat=0;} else resultat/=b; } else { if (reponse=='+') resultat+=b; else if (reponse=='-') resultat-=b; else if (reponse=='*') resultat*=b; else printf("\nOperateur inconnu\n"); } printf("\n %f\n",resultat); printf("opération (q pour quitter) ? "); scanf(" %c",&reponse); } while (reponse!='q'); }
#include <stdio.h> #include <stdlib.h> #include <conio.h> void main (void) { int nbatrouver,proposition,compteur=0; int min=1,max=100; printf("Vous devez deviner un nombre entre %d et %d \n",min,max); printf("tapez ENTREE pour commencer\n"); do nbatrouver=(rand()%(max+1))+min; while (!kbhit()); do { compteur++; printf("entrez votre proposition :"); scanf("%d",&proposition); if(proposition<nbatrouver) if(proposition>min) { puts("trop petit"); min=proposition; } else puts("donnée incohérente"); else if(proposition!=nbatrouver) if(proposition<max) { puts("trop grand"); max=proposition; } else puts("donnée incohérente"); } while (proposition!=nbatrouver); printf("gagné en %d essais \n",compteur); if (compteur<2)puts("tricheur !"); else if (compteur<5)puts ("bravo"); else if (compteur<10) puts("pas mal"); else puts("espece de gros nul"); }
#include <stdio.h> #define DIM 100 typedef float tableau[DIM]; /* protoypes des fonctions (si on ne veut pas mettre main à la fin) */ int saisir(tableau); void affiche(int,tableau); float moyenne(int,tableau); void supval(int*,tableau); void adval(int*,tableau); void tri(int,tableau); void affiche(int nb,tableau tab) { int i; for(i=0;i<nb;i++) printf("\n%d\t:%f",i+1,tab[i]); } int saisir(tableau tab) { int i,nb; do { printf("\nnombre de variables à saisir :"); scanf("%d",&nb); if (nb>DIM) printf("\n choisissez un nombre compris entre 1 et %d : ",DIM); } while (nb>DIM||nb<0); for(i=0;i<nb;i++) { printf(" valeur %d :",i+1); scanf("%f",&tab[i]); } return (nb); } float moyenne(int nb,tableau tab) { int i=0; float res=0; for (i=0;i<nb;i++) res+=tab[i]; if(nb>0)res=res/nb; return (res); } void supval (int *nb,tableau tab) { if(*nb<1)puts ("il ne reste rien à supprimer"); else { int valsup,nbs; puts("quelle valeur voulez vous supprimer ?"); scanf("%d",&valsup); for(nbs=valsup;nbs<*nb;nbs++) tab[nbs-1]=tab[nbs]; (*nb)--; } } void adval (int *nb,tableau tab) { int nba,i; if (*nb>DIM)puts ("il ne reste plus de place dans le tableau"); else { (*nb)++; puts("\nentrez l'emplacement de la valeur:"); scanf("%d",&nba); for (i=*nb-1;i>nba;i--)tab[i]=tab[i-1]; puts("\entrez la nouvelle valeur :"); scanf("%f",&tab[nba]); } } void tri(int nb,tableau tab) { int i,QuelqueChoseChange; float interm; do { QuelqueChoseChange=0; for(i=1;i<nb;i++) if (tab[i]<tab[i-1]) { QuelqueChoseChange=1; interm=tab[i-1];tab[i-1]=tab[i];tab[i]=interm; } } while(QuelqueChoseChange); } void main (void) { tableau tab; int nb;char choix; nb=saisir(tab); do { printf("\n que voulez vous faire ?\n"); printf("\nn :nouveau tableau\na :afficher tableau\nm :calculer moyenne\ns :"); printf("supprimer une valeur\ni :inserer une valeur\nt :trier\nq :quitter"); scanf(" %c",&choix); if (choix=='n') nb=saisir(tab); else if (choix=='a') affiche(nb,tab); else if (choix=='m') printf("\n moyenne des valeurs : %f",moyenne(nb,tab)); else if (choix=='s') supval(&nb,tab); else if (choix=='i') adval(&nb,tab); else if (choix=='t') tri(nb,tab); } while(choix!='q'); printf("\nau revoir\n"); }
#include<stdio.h> #include<string.h> #define LNG 80 typedef char ligne [LNG]; void saisie(ligne); void affiche(ligne); void compare(ligne,ligne); int inclus (ligne,ligne,int); void cherche(ligne,ligne); //pour la dernière question typedef ligne texte [20]; void main(void) { int i,n; ligne mot; texte t; printf("combien de lignes ? "); scanf("%d",&n); fflush(stdin); //pour ne pas être gêné par le caractère ENTREE par la suite for(i=0;i<n;i++) saisie(t[i]); for(i=0;i<n;i++) affiche(t[i]); printf("mot à chercher : "); saisie(mot); for(i=0;i<n;i++) cherche(t[i],mot); } void saisie(ligne lgn) { printf("entrez votre ligne : "); gets(lng); } void affiche(ligne lig) { printf("la ligne vaut: %s\n",lig); } void compare(ligne lng1,ligne lng2) { if(strlen(lng1)==strlen(lng2))printf("les deux ont même longueur\n"); else if(strlen(lng1)<strlen(lng2))printf("la 2eme est la plus longue\n"); else printf("la 1ere est la plus longue\n"); if(strcmp(lng1,lng2)==0) printf("égaux devant Dieu\n"); else if(strcmp(lng1,lng2)<0) printf("le 1er d'abord.(par ordre alphabétique)\n"); else printf("les derniers seront les premiers...(par ordre alphabétique)\n"); } int inclus (ligne l,ligne c,int pos) { int i=0; while(c[i]&&l[i+pos]==c[i])i++; if (c[i])return(0); else return (1); } void cherche(ligne l,ligne c) { int i,n; for(i=0;i<strlen(l);i++) if(inclus(l,c,i))printf("trouvé en position %d\n",i); }
Patrick TRAU,ULP - IPST novembre 2001. Cliquez pour retourner vers le sommaire programmation.