Vous êtes sur la page 1sur 6

Algorithmique Avancée et Programmation -

Corrigés des TP en C – Série 1


Exercice 1

#include <stdio.h>

int main() {

int a;

char p[20],n[20];

printf("Quelle est ton année d'étude ?");

scanf("%d",&a);

printf("Quel est ton [prénom nom] ?");

scanf("%s %s",&p,&n);

printf("Bonjour\nJe suis en ING%d.\nJe m'appelle %s %s\nJe suis très content de faire du


C.\n",a,p,n);

Exercice 2

#include <stdio.h>

int main() {

int a1, a2, a3;

int max, min, mil; //max, min et le nombre du milieu

printf("Entrez le nombre 1 ");

scanf("%d", &a1);

printf("Entrez le nombre 2 ");

scanf("%d", &a2);

printf("Entrez le nombre 3 ");

scanf("%d", &a3);
/* on commence les comparaisons

on compare le 1er et le 2eme */

if (a1 > a2) {

max = a1;

mil = a2;

} else {

mil = a1;

max = a2;

/* on compare le plus grand (entre le 1er et le 2eme) et a3 */

if (max > a3) /* on compare le milieu et a3 */ {

if (mil > a3) {

min = a3;

} else {

int perm;

perm = mil;

mil = a3;

min = perm;

} else {

min = mil;

mil = max;

max = a3;

}
printf("Les 3 nombres dans l'ordre croissant sont : %d %d %d", min, mil, max);

Exercice 3

#include <stdio.h>

#include <stdlib.h>

int main() {

int taille, ligne, colonne;

printf("Entrez la taille du motif ");

scanf("%d",&taille);

for (ligne = 1; ligne <= taille; ligne++) {

for (colonne = 1; colonne <= ligne; colonne++) {

printf("*");

printf("\n");

Exercice 4

#include <stdio.h>

#include <stdlib.h>

int main() {

int taille, ligne, colonne, espace;

printf("Entrez la taille du motif ");

scanf("%d",&taille);

for (ligne = 1; ligne <= taille; ligne++) {

for (espace = 1; espace <= taille - ligne; espace++) {


printf(" ");

for (colonne = 1; colonne <= 2*ligne-1; colonne++) {

printf("*");

printf("\n");

Exercice 5

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main() {

int n, i, est_premier;

char nvNbre = 'O';

while (nvNbre=='O') {

printf("Entrez un entier ");

scanf("%d",&n);

est_premier = 1;

for (i = 2; i <= sqrt(n); i++) {

if ((n % i) == 0)

est_premier = 0;

printf("%d n'est pas premier, il est divisible par %d\n",n,i);


break;

if (est_premier==1) {

printf("%d est premier\n",n);

printf("Voulez-vous essayer un autre nombre? (O/N) ");

fflush(stdin); // à utiliser avant de scanner un %c au clavier, sans quoi c'est le passage à la ligne
précédent qui sera lu

scanf("%c",&nvNbre);

Exercice 6

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main() {

// k! dépasse rapidement les limites mémoire, il ne faut donc pas calculer k!

double epsilon=1e-15, x;

printf("x=? ");

scanf("%lf",&x);

double sinx=x,ajout=x;

int nbpassages=1;

while (fabs(ajout)>=epsilon){

ajout=ajout*pow(x,2)/((2*nbpassages)*(2*nbpassages+1)); //on évite le calcul de nbpassages!


sinx=sinx+pow(-1,nbpassages)*ajout;

nbpassages++;

printf("On trouve : sin(x)=%.17g\nLa bibliothèque : sin(x)=%.17g\n",sinx,sin(x));

Vous aimerez peut-être aussi