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

Contenu supprimé Contenu ajouté
CaBot (discussion | contributions)
Page créée avec « p est premier si et seulement si qu'elle que soit 2<=i<=p-1 on a: p ne divise pas i . #include<stdio.h> #include<conio.h> int main() {int i,p; for(i=2;i<p;i++) ... »
Ligne 1 :
p est premier si et seulement si qu'elle que soit 2<=i<=p-1 on a: p ne divise pas i .
{{Exercices en langage C}}
#include <stdio.h>
== Entrée d'une valeur ==
#include <stdlibconio.h>
Écrivez un programme age.c qui demande l'âge de l'utilisateur, puis qui l'affiche.
int main(void)
 
{int i,p;
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>.
for(i=2;i<p;i++)
 
if(p%i==0) break;
<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
if (i==p)
'''Correction'''
printf("p est premier");
 
else printf("p n(est pas premier");
<source lang="c">
getch();
/*
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...
}} </div>
 
[[Catégorie:Exercices en langage C (livre)|Variables et constantes]]