#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.