« Exercices en langage C/Variables et constantes » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 1 :
{{Exercices en langage C}}
p est premier si et seulement si qu'elle que soit 2<=i<=p-1 on a: p ne divise pas i .
== Entrée d'une valeur ==
Écrivez un programme age.c qui demande l'âge de l'utilisateur, puis qui l'affiche.
 
Pour lire l'age , vous utiliserez la fonction <code>scanf</code> déclarée dans [[w:en:stdio.h|stdio.h]] sous la forme <code>(void)scanf("%d", &ageLu);</code>.
 
{{Boîte déroulante|align=left|titre=Solution|contenu =
'''Correction'''
 
<source lang="c">
/*
Nom : age.c
Auteur : Thierry46
Role : Demande l'âge de l'utilisateur et l'affiche à l'écran.
Paramètres : non pris en compte.
Code retour : 0 (EXIT_SUCCESS)
Pour produire un exécutable avec le compilateur libre GCC :
gcc -Wall -o age.exe age.c
Pour exécuter, tapez : ./age.exe
 
Version : 1.0 du 5/1/2008
Licence : GNU GPL
*/
 
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
/* Déclare la variable entière age qui contiendra la valeur lue */
int ageLu = 99;
 
/* Ecrit la question à l'écran */
(void)puts("Quel est votre age :");
 
/* Lit la réponse de l'utilisateur */
(void)scanf("%d", &ageLu);
 
/* Affiche à l'écran l'entier lu */
(void)printf("Vous avez %d an(s) !\n", ageLu);
 
return EXIT_SUCCESS;
}
</source>
 
'''Exécution'''
<pre>
MacMini-TM:~/Documents/developpement/c thierry$ ./age.exe
Quel est votre age :
43
Vous avez 43 an(s) !
</pre>
 
Avec valeur illégale (non entière) entrée :
<pre>
MacMini-TM:~/Documents/developpement/c thierry$ ./age.exe
Quel est votre age :
?
Vous avez 99 an(s) !
</pre>
 
'''Remarques'''
* L'initialisation de ageLu permet d'avoir une valeur par défaut (99) en cas de problème de lecture.
* Le code retour de scanf() est volontairement ignoré pour simplifier, ce qui est déconseillé dans un programme opérationnel.
* Il faudrait analyser le code retour et agir en conséquence.
* La fonction scanf() permet bien d'autres possibilités, voir sa page de man : ''man -s3 scanf''.
* Voir les autres fonctions de cette famille : fscanf, sscanf...
}}
 
 
== Calculer un nombre premier ==
 
p est premier si et seulement si qu'elle que soit 2<=i<=p-1 on a: p ne divise pas i .
{{Boîte déroulante|align=left|titre=Solution|contenu =
#include<stdio.h>
#include<conio.h>
Ligne 11 ⟶ 84 :
getch();
}
}}