Un peu de C maintenant !

This commit is contained in:
Avrillon Samy 2021-10-11 10:06:26 +02:00
parent 10575c282a
commit f61ee77c30
13 changed files with 191 additions and 3 deletions

13
C2.md
View File

@ -7,12 +7,19 @@ C 2
3. Sur les PC de l'ENS: version `7.5.0`
### Exercice 2
```
gcc test.c
./a.out
savrillo@slsu1-07:/tmp$ gcc test.c -o hello
savrillo@slsu1-07:/tmp$ ./hello
hellosavrillo@slsu1-07:/tmp$
savrillo@slsu1-07:/tmp$
```
### Exercice 3
- **-o** Définit le nom du fichier de sortie du programme
- **-Wall** Tout les *warnings* affichables sont affichés
- **-g** Rajoute les informattion de débogage au fichier de sortie.
- **-pedantic** Demande au programme de compiler les programmes de manière trèèès rigoureuse, exactement comme demandé par la spécification du C/C++
- **-Werror** Demande au programme de traiter les *warnings* comme des erreurs (stopper la compilation).
- **-O0** Définit le niveau d'optimisation à 0: Le code est alors plus gros, moins rapide mais plus facilement déboggable.
### Exercice 4
RAS

5
C3.1.c Normal file
View File

@ -0,0 +1,5 @@
#include <stdio.h>
int main() {
printf("Bonjour, il fait beau aujourd'hui.\n");
}

6
C3.2.c Normal file
View File

@ -0,0 +1,6 @@
#include<stdio.h>
int main() {
int val;
scanf("%d", &val);
printf("%d\n",val);
}

6
C3.3.c Normal file
View File

@ -0,0 +1,6 @@
#include<stdio.h>
int main(){
char ch;
scanf("%c",&ch);
printf("%c\n",ch);
}

6
C3.4.c Normal file
View File

@ -0,0 +1,6 @@
#include<stdio.h>
int main(){
float dble;
scanf("%f",&dble);
printf("%f\n",dble);
}

11
C3.5.c Normal file
View File

@ -0,0 +1,11 @@
#include<stdio.h>
int main() {
printf("Pourriez-vous entre (séparés par une espace) vos initiales sur deux caractères, votre âge et votre taille en mètres avec deux décimales SVP : ");
char initiales[2];
int age;
float taille;
scanf("%c%c %d %f", initiales, initiales+1, &age, &taille);
printf("Vos initiales sont \"%c%c\"\n",initiales, initiales+1);
printf("Votre âge est %d\n", age);
printf("Vous mesurez %f mètres\n", taille);
}

8
C4.1.c Normal file
View File

@ -0,0 +1,8 @@
#include <stdio.h>
int main() {
int n;
printf("Votre âge s'il vous plait : ");
scanf("%d", &n);
printf((n>=18)?"Vous êtes majeur.\n":"\nVous n'êtes pas majeur\n");
}

10
C4.2.c Normal file
View File

@ -0,0 +1,10 @@
#include<stdio.h>
int main() {
int n;
printf("Votre n ? ");
scanf("%d", &n);
for(int i=0; i<=n; i++){
printf("%d\n", i);
}
}

14
C4.3.c Normal file
View File

@ -0,0 +1,14 @@
#include<stdio.h>
int main(){
int n;
printf("Votre n ? ");
scanf("%d", &n);
int s0=0;
int s1=1;
for(int i=0;i<=n;i++){
s1 = s0 + s1;
s0 = s1 - s0;
printf("%d: %d\n",i, s0);
}
}

15
C4.4.c Normal file
View File

@ -0,0 +1,15 @@
#include<stdio.h>
int main(){
int n;
int estP;
printf("Votre n ? ");
scanf("%d", &n);
for(int i=2;i<=n;i++){
estP = 1;
for(int j=2;j*j<=i && estP;j++){
estP = !(i%j==0);
}
if(estP)printf("%d est premier\n", i);
}
}

44
C4.5.c Normal file
View File

@ -0,0 +1,44 @@
#include<stdio.h>
int main() {
char choix;
int nmax;
int ndevine;
int nprop;
while(1){
do{
printf("Bienvenue au Koikecélenombre !\n"
"1: très facile\n"
"2: facile\n"
"3: difficile\n"
"4: très difficile\n"
"5: expert\n"
"q: quitter l'application\n"
"Votre choix : ");
scanf("%c", &choix);
printf("\n");
if(choix=='q')return 0;
nmax=0;
if(choix=='1')nmax=10;
else if(choix=='2')nmax=20;
else if(choix=='3')nmax=50;
else if(choix=='4')nmax=100;
else if(choix=='5')nmax=500;
}while(nmax==0);
do{
printf("Ami, donnez votre nombre : ");
scanf("%d", &ndevine);
}while(nmax<ndevine || 1>ndevine);
//for(int i=0; i<420; i++){printf("\n");}
nprop=0;
printf("\033[2JMaintenant, joueur, faites vos propositions.\n");
for(int j=1; nprop!=ndevine; j++){
printf("Je pense que c'est le ");
scanf("%d", &nprop);
if(nprop<ndevine)printf("C'est plus.\n");
else if(ndevine<nprop)printf("C'est moins.\n");
else printf("C'est ça !\nFélicitations, tu as trouvé en %d propositions.\n",j);
}
}
}

54
C4.6.c Normal file
View File

@ -0,0 +1,54 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
int val;
printf("Pose de la bombe.\n");
for(int i=10; i>0; i--){
printf("%d\n", i);
sleep(1);
}
printf("BOOOOOM\n");
printf("Maintenant, vous êtes au purgatoire. Quand votre file d'attente se libèrera, votre destination sera choisie en fonction de critères arbitraires.\n");
int out = 0;
while(!out){
sleep(1);
val = rand();
printf("Vous attendez encore dans le purgatoire.\n");
switch(val%42){
case 3:
printf("Une faille spatio-temporelle vous fait avancer de 5 minutes dans le temps. Vous avez ptet loupé votre chance.\n");
break;
case 21:
printf("5 personnes viennent d'arriver.\n");
break;
case 23:
printf("Une classe de maternelle vient d'arriver.\n");
break;
case 12:
printf("Un vendeur de petit cahier noirs sur lesquels il est inscrit デスノート vous aborde. Vous le repoussez\n");
break;
case 36:
printf("C'est votre tour ! Ah ben non....");
break;
case 18:
printf("Un individu vous propose des cours de Brainfuck. Quel dommage, vous conaissez déjà.\n");
break;
case 8:
printf("Un homme annonce qu'il parle le Java. Il monte directement au paradis. Devriez-vous faire pareil ?\n");
break;
case 32:
printf("C'est votre tour ! Vous vous envolez enfin pour le paradis. Quel ennui.\n");
out = 1;
case 0:
printf("C'est votre tour ! Vous décenderez en enfer ! Ça c'est métal !\n");
out = 1;
default:
printf("Rien ne se passe\n");
}
}
printf("Vous êtes arrivés à destination.\n");
printf("Merci de votre visite (comme si vous aviez le choix)\n");
printf("Ce purgatoire vous était proposé par PURGASOFT *le purgatoire, autrement*\n");
}

2
Makefile Normal file
View File

@ -0,0 +1,2 @@
%: %.c
gcc $@.c -g -O0 -Wall -o /tmp/$*