#include <stdio.h>
#include <stdlib.h>
int a=8;
float b1=2.990812,b3=2.990813;
double b2=2.990812;
char c='A';
int main(){
printf("1. Les entiers:");
printf("\na=%d a=%+d -a=%+d donc + pour afficher le signe",a,a,-a);
printf("\na=%5d a=%+5d -a=%+5d pour afficher sur un nombre de positions ici 5",a,a,-a);
printf("\na=%05d a=%+05d -a=%+05d pour completer les positions vides par des zeros",a,a,-a);
printf("\na=%5d a=%-5d -a=%-5d donc - pour justifier a gauche",a,a,-a);
printf("\na=%i une autre possibilité pour les entiers",a);
printf("\na=%o pour afficher %d (supposé non signé) en octal",a,a);
printf("\n3*a=%x pour afficher %d (supposé non signé) en hexadecimal",3*a,3*a);
printf("\n\n2. Les reels:");
printf("\nb1=%f donc le nombre affiché est tronqué",b1);
printf("\nb1=%e b1/100=%e la notation scientifique",b1,b1/100);
printf("\nb1=%.4f pour imposer une précision ici 4 chiffres apres la virgule",b1);
printf("\nb1=%.1f avec un chiffre décimal, le nombre a changé",b1);
printf("\nb1=%.4f la valeur n'a pas ete modifiee en memoire",b1);
printf("\nb1=%6.3f pour afficher sur un nombre de positions avec une précision",b1);
printf("\nb1=%6.2f pour afficher sur un nombre de positions (ici 6) le point décimal est inclus",b1);
printf("\nb2=%lf pour afficher un réel double précision",b2);
b1=0.2;b3=0.200001;b2=0.2;
if(b1!=b3){
printf("\nMalgre les apparences, b1=%.4f et b3=%.4f sont differents",b1,b3);
}
//attendre le ch representation des réels (CRI) pour comprendre
if(b1!=b2){
printf("\nMalgre les apparences, b1=%f et b2=%lf sont differents",b1,b2);
}
printf("\n\n3. Les caracteres:");
printf("\nc=%c affiche le caractère",c);
printf("\nc=%d affiche son code ASCII",c);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int j,m,a;
int main(){
printf("entrer une date avec le format jj/mm/aaaa \n");
scanf("%d/%d/%d",&j,&m,&a);
printf("J'ai pu lire la date %02d/%02d/%04d \n",j,m,a);
return 0;
}
#include <stdio.h>
#define DEBUG 1
int main(){
int x,y,som,firstLect,secondLect;
#if DEBUG
printf("\n Avant lecture, le premier nbr vaut >%d< et le 2ieme >%d<. ",x,y);
#endif
printf("\n Donner deux nombres SVP:");
firstLect=scanf("%d",&x);
secondLect=scanf("%d",&y);
#if DEBUG
if((firstLect+secondLect)!=2){
printf("\n Erreur de lecture, le premier nbr vaut >%d< et le 2ieme >%d<. "
"\n Car %d valeur lue en 1iere lecture et %d valeur lue en 2ieme. "
"\n Arret d'execution !",x,y,firstLect,secondLect);
return 1;
}
#endif
som=x+y;
printf("\n Le resultat de la somme de %d et %d est:%d",x,y,som);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
float pht1,pttc1,pht2,pttc2,pht3,pttc3,totalTTC=0,totalHT;
int nb1,nb2,nb3;
int main(){
PI("\nEntrez le prix hors taxes du premier article:");
scanf("%f",&pht1);
printf("\nEntrez le nombre d’unités que vous voulez acheter :");
scanf("%d",&nb1);
pttc1= nb1*pht1*(1+0.17);
printf("\nCet article va vous couter %.2f en TTC",pttc1);
totalTTC+=pttc1;
printf("\nEntrez le prix hors taxes du deuxieme article:");
scanf("%f",&pht2);
printf("\nEntrez le nombre d’unités que vous voulez acheter :");
scanf("%d",&nb2);
pttc2= nb2*pht2*(1+0.17);
printf("\nCet article va vous couter %.2f en TTC",pttc2);
totalTTC+=pttc2;
printf("\nEntrez le prix hors taxes du troisieme article:");
scanf("%f",&pht3);
printf("\nEntrez le nombre d’unités que vous voulez acheter :");
scanf("%d",&nb3);
pttc3= nb3*pht3*(1+0.17);
printf("\nCet article va vous couter %.2f en TTC",pttc3);
totalTTC+=pttc3;
totalHT=totalTTC/(1+0.17);
printf("\n\nLe prix est %.2f en HT. La TVA etant a %d%%, vous devez payer %.2f TTC"
,totalHT,(int)(100*0.17),totalTTC);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define PI 3.14;
float surf,circonf,r;
int main(){
printf("Donner le rayon!\n");
scanf("%f",&r);
circonf=2*r*PI;
surf=PI*r*r;
return 0;
}
Lectures proposées :
1. les indicateurs de format %i et %d sont il totalement identiques :
https://stackoverflow.com/questions/1893490/what-is-the-difference-between-conversion-specifiers-i-and-d-in-formatted-io-f
2.
#include <stdlib.h>
int a=8;
float b1=2.990812,b3=2.990813;
double b2=2.990812;
char c='A';
int main(){
printf("1. Les entiers:");
printf("\na=%d a=%+d -a=%+d donc + pour afficher le signe",a,a,-a);
printf("\na=%5d a=%+5d -a=%+5d pour afficher sur un nombre de positions ici 5",a,a,-a);
printf("\na=%05d a=%+05d -a=%+05d pour completer les positions vides par des zeros",a,a,-a);
printf("\na=%5d a=%-5d -a=%-5d donc - pour justifier a gauche",a,a,-a);
printf("\na=%i une autre possibilité pour les entiers",a);
printf("\na=%o pour afficher %d (supposé non signé) en octal",a,a);
printf("\n3*a=%x pour afficher %d (supposé non signé) en hexadecimal",3*a,3*a);
printf("\n\n2. Les reels:");
printf("\nb1=%f donc le nombre affiché est tronqué",b1);
printf("\nb1=%e b1/100=%e la notation scientifique",b1,b1/100);
printf("\nb1=%.4f pour imposer une précision ici 4 chiffres apres la virgule",b1);
printf("\nb1=%.1f avec un chiffre décimal, le nombre a changé",b1);
printf("\nb1=%.4f la valeur n'a pas ete modifiee en memoire",b1);
printf("\nb1=%6.3f pour afficher sur un nombre de positions avec une précision",b1);
printf("\nb1=%6.2f pour afficher sur un nombre de positions (ici 6) le point décimal est inclus",b1);
printf("\nb2=%lf pour afficher un réel double précision",b2);
b1=0.2;b3=0.200001;b2=0.2;
if(b1!=b3){
printf("\nMalgre les apparences, b1=%.4f et b3=%.4f sont differents",b1,b3);
}
//attendre le ch representation des réels (CRI) pour comprendre
if(b1!=b2){
printf("\nMalgre les apparences, b1=%f et b2=%lf sont differents",b1,b2);
}
printf("\n\n3. Les caracteres:");
printf("\nc=%c affiche le caractère",c);
printf("\nc=%d affiche son code ASCII",c);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int j,m,a;
int main(){
printf("entrer une date avec le format jj/mm/aaaa \n");
scanf("%d/%d/%d",&j,&m,&a);
printf("J'ai pu lire la date %02d/%02d/%04d \n",j,m,a);
return 0;
}
#include <stdio.h>
#define DEBUG 1
int main(){
int x,y,som,firstLect,secondLect;
#if DEBUG
printf("\n Avant lecture, le premier nbr vaut >%d< et le 2ieme >%d<. ",x,y);
#endif
printf("\n Donner deux nombres SVP:");
firstLect=scanf("%d",&x);
secondLect=scanf("%d",&y);
#if DEBUG
if((firstLect+secondLect)!=2){
printf("\n Erreur de lecture, le premier nbr vaut >%d< et le 2ieme >%d<. "
"\n Car %d valeur lue en 1iere lecture et %d valeur lue en 2ieme. "
"\n Arret d'execution !",x,y,firstLect,secondLect);
return 1;
}
#endif
som=x+y;
printf("\n Le resultat de la somme de %d et %d est:%d",x,y,som);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
float pht1,pttc1,pht2,pttc2,pht3,pttc3,totalTTC=0,totalHT;
int nb1,nb2,nb3;
int main(){
PI("\nEntrez le prix hors taxes du premier article:");
scanf("%f",&pht1);
printf("\nEntrez le nombre d’unités que vous voulez acheter :");
scanf("%d",&nb1);
pttc1= nb1*pht1*(1+0.17);
printf("\nCet article va vous couter %.2f en TTC",pttc1);
totalTTC+=pttc1;
printf("\nEntrez le prix hors taxes du deuxieme article:");
scanf("%f",&pht2);
printf("\nEntrez le nombre d’unités que vous voulez acheter :");
scanf("%d",&nb2);
pttc2= nb2*pht2*(1+0.17);
printf("\nCet article va vous couter %.2f en TTC",pttc2);
totalTTC+=pttc2;
printf("\nEntrez le prix hors taxes du troisieme article:");
scanf("%f",&pht3);
printf("\nEntrez le nombre d’unités que vous voulez acheter :");
scanf("%d",&nb3);
pttc3= nb3*pht3*(1+0.17);
printf("\nCet article va vous couter %.2f en TTC",pttc3);
totalTTC+=pttc3;
totalHT=totalTTC/(1+0.17);
printf("\n\nLe prix est %.2f en HT. La TVA etant a %d%%, vous devez payer %.2f TTC"
,totalHT,(int)(100*0.17),totalTTC);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define PI 3.14;
float surf,circonf,r;
int main(){
printf("Donner le rayon!\n");
scanf("%f",&r);
circonf=2*r*PI;
surf=PI*r*r;
return 0;
}
Lectures proposées :
1. les indicateurs de format %i et %d sont il totalement identiques :
https://stackoverflow.com/questions/1893490/what-is-the-difference-between-conversion-specifiers-i-and-d-in-formatted-io-f
2.