ESTI
A.U. 2011-2012
Série les structures alternatives et répétitives 1ère année licence informatique – langage C (pgm1)
Exercice 1 : (extrait du DS de l’AU : 2009/2010) Soit le programme suivant:
#include <stdio.h> void main() {
int i,j,k;
for (i=0;i<1; i++) {
for(j=0; j<2;j++) {
Publicité
for (k=0;k<3; k++)
printf("\n %d", k+10*j+100*i); printf("\n i:%d, j:%d, k:%d",i,j,k);
} printf("\n i:%d, j:%d, k:%d",i,j,k);
} printf("\n i:%d, j:%d, k:%d \n",i,j,k);
}
Si on exécute ce programme, qu'est ce qu'il affiche? Réecrire ce même programme en remplaçant for par while
Exercice 2 : (extrait du DS de l’AU : 2010/2011) Soit le programme suivant. #include<stdio.h> void main() {
int i,j,k; for (i=1;i<3; i++)
Publicité
for (j=1;j<3; j++)
printf("%d \n", i+j);
for (k=1; k<3; k++)
printf("%d \n", i+j+k);
} Si on l’exécute, qu’est ce qu’il affiche
Exercice 3 : Ecrire un programme qui résoud l’équation du second degré ax2+bx+c=0. (a, b et c sont saisis au clavier).
Exercice 4 : Ecrire un programme qui affiche au choix (selon le caractère à saisir au clavier +, ou *, ou /) la table d’addition, ou de multiplication ou de division. (Soigner l’affichage)
1
Publicité
Exercice 5 : Ecrire un programme qui lit un caractère au clavier (utiliser getchar), et le convertit en miniscule s’il est majuscule, et inversement.
Exercice 6 : Ecrire un programme qui lit un texte formé par des 0 et des 1, ensuite remplace le 1 par 0 et inversement. Si le caractère est différent de 0 ou de 1, il reste inchangé. Exemple : 1a00011z01# 0a11100z10
Exercice 7 : Ecrire un programme qui accepte un texte qui se termine par #, et affiche sur chaque ligne un mot du texte. Exemple : azerty qsdfg wxcvb # azerty qsdfg wxcvb
Exercice 8 : Ecrire un programme qui lit un texte se terminant par # (on suppose que les caractères sont des 0 et des 1 seulement), ensuite effectue une compression selon l’approche suivante : Chaque suite de n caractères identiques est remplacée par : n^<le caractère># Exemple : 111000001111000000# 3^1#5^0#4^1#6^0#
Exercice 9 Ecrire un programme qui accepte un texte qui se termine par #, et affiche le nombre de mots formés par des caractères alphabétiques, et le nombre de mots formés par des chiffres. Exemple : Azer ghj234 567 8765 der4565 9876# Le nombre de mots alphabétiques est 1, le nombre de mots chiffres est 3
2