Vous êtes sur la page 1sur 15

EX2 

#include<stdio.h>

int main(){

char str[100];

int l= 0;

printf("\n Trouver la longeur de chaine :\n");

printf("Entrez votre chaine : ");

gets(str);

while(str[l]!='\0')

l++;

printf("La taille de votre chaine est : %d \n", l-1);

scanf("\n");

return 0;

EX3 :

#include<stdio.h>

int main(){

char str[100];

int l= 0;

printf("Entrez votre chaine : ");


gets(str);

printf("Les caractères de la chaine sont : \n");

while(str[l]!='\0')

printf("%c ", str[l]);

l++;

scanf("\n");

return 0;

EX4

#include <stdio.h>

int main(){

char str1[100],str2[100];

int flg=0,i=0;;

printf("Entrez la premiere chaine : ");

scanf("%s",str1);

printf("Entrez la deuxieme chaine : ");

scanf("%s",str2);

while(str1[i] == str2[i]){

if(str1[i] == '\0' || str2[i] == '\0')

break;

i++;

if(str1[i-1] == '\0' && str2[i-1]=='\0')

flg=0;

else if(str1[i] > str2[i])


flg=1;

else if(str1[i] < str2[i])

flg=-1;

if(flg == 0){

printf("Les deux chaines de caracteres sont egales.\n");

else if(flg == -1){

printf("La premiere chaine precede a la seconde.\n");

else{

printf("La premiere chaine succede a la seconde.\n");

return 0;

EX4 par fonction :

#include<stdio.h>

int comparer(char *chaine1 , char *chaine2){

int flg , i=0;

while(chaine1[i] == chaine2[i])

if(chaine1[i] == '\0' || chaine2[i] == '\0')

break;

i++;

if(chaine1[i-1] == '\0' && chaine2[i-1]=='\0')

flg=0;
else if(chaine1[i] > chaine2[i])

flg=1;

else if(chaine1[i] < chaine2[i])

flg=-1 ;

return flg ;

int main(){

int res = comparer("aaa", "aaa");

if(res == 0)

printf("\nThe length of both strings are equal and \nalso both strings are equal.\n\n");

else if(res == -1)

printf("\nThe length of the first string is smaller than second.\n\n");

else

printf("\nThe length of the first string is greater than second.\n\n");

scanf("\n");

return 0; }
EX5 :

#include <stdio.h>

int main()

char str1[100], str2[100];

int i;

printf("\n Copie une chaine dans une autre :\n");

printf("Entrez la premiere chaine : ");

gets(str1);

i=0;

while(str1[i]!='\0')

str2[i] = str1[i];

i++;

str2[i] = '\0';

printf("La premiere chaine est : %s\n", str1);

printf("La deuxieme chaine est : %s\n", str2);

printf("Le nombre de caractere copie est : %d\n", i);

scanf("\n");

return 0;

EX6 :

#include <stdio.h>
#include <string.h>

int main(){

char str[100];

int i, len, vowel, cons;

printf("Compter le nombre total de voyelle ou de consonne dans une chaîne :\n");

printf("Entrer votre chaine : ");

gets(str);

vowel = 0;

cons = 0;

len = strlen(str);

for(i=0; i<len; i++){

if(str[i] =='a' || str[i]=='e' || str[i]=='i' || str[i]=='o' || str[i]=='u' || str[i]=='A' || str[i]=='E' ||


str[i]=='I' || str[i]=='O' || str[i]=='U')

vowel++;

else if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'))

cons++;

printf("Le nombre total des voyelle est: %d\n", vowel);

printf("Le nombre total des consonnes est : %d\n\n", cons);

scanf("\n");
return 0;

EX7 :

#include<stdio.h>

#include<string.h>

int main()

char str[100],ch;

int i,j,l;

printf("Trier une chaine de caractere dans un ordre croissant :\n");

printf("Entres votre chaine : ");

gets(str);

l=strlen(str);

for(i=0; i<l; i++){

for(j=i+1; j<l; j++)

if(str[j] <str[i])

ch = str[i];

str[i] = str[j];

str[j] = ch;

printf("Votre chaine triee : \n");

printf("%s\n",str);

scanf("\n");
return 0;

EX7 PAR FONCTION :

#include<stdio.h>

// question 1

int compareTo(char *chaine1 , char *chaine2){

int flg , i=0;

while(chaine1[i] == chaine2[i])

if(chaine1[i] == '\0' || chaine2[i] == '\0')

break;

i++;

if(i > 0 && chaine1[i-1] == '\0' && chaine2[i-1]=='\0')

flg=0;

else if(chaine1[i] > chaine2[i])

flg=1;

else if(chaine1[i] < chaine2[i])

flg=-1 ;

return flg ;

// question 2

char** trier( char **tab , int dim ){

char *tmp ;

for (int i = 0 ; i < dim - 1; i++){

for (int j = 0 ; j < dim-i- 1; j++)


{

if (compareTo(tab[j],tab[j+1]) == 1)

tmp = tab[j];

tab[j] = tab[j+1];

tab[j+1] = tmp;

return tab ;

int main(){

char *tab[3] = {"aaaa","z","hh"} ;

trier(tab,3);

for(int i =0 ; i < 3 ; i ++){

printf("%s \n", tab[i]);

scanf("\n");

return 0;

Ex8 :

#include <stdio.h>
int main() {

char str[100], sstr[100];

int pos, l, c = 0;

printf("Extraire une chaine a partir d'une autre\n");

printf("Entrez une chaine\n ");

gets(str);

printf("Inserer la position a partir de laquelle vous voulez extraire votre chaine:");

scanf("%d", &pos);

printf("Entrer la longeur de chaine a extraire :");

scanf("%d", &l);

while (c < l){

sstr[c] = str[pos+c-1];

c++;

sstr[c] = '\0';

printf("La chaine extraite est : %s \n", sstr);

scanf("\n");

return 0;

EX9 :

#include <stdio.h>
#include <string.h>

#include <ctype.h>

int main()

char str[100];

int ctr;

char ch;

printf("Entrez votre chaine :\n ");

gets(str);

ctr=strlen(str);

for(int i=0; i < ctr; i++)

// max = ((a>b) ? a : b);

ch = (islower(str[i]) ? toupper(str[i]) : tolower(str[i]));

putchar(ch);

scanf("\n");

return 0;

EX10 :

#include <stdio.h>

#include <string.h>
void changePosition(char *ch1, char *ch2){

char tmp;

tmp = *ch1;

*ch1 = *ch2;

*ch2 = tmp;

void charPermu(char *cht, int stno, int endno){

int i;

if (stno == endno)

printf("%s ", cht);

else{

for (i = stno; i <= endno; i++){

changePosition((cht+stno), (cht+i));

charPermu(cht, stno+1, endno);

changePosition((cht+stno), (cht+i));

int main()

char str[] = "abcd";

int n = strlen(str);

printf(" Les combinaisons possibles : \n");

charPermu(str, 0, n-1);

scanf("\n");
return 0;

EX11 :

#include <stdio.h>

#include <string.h>

void TestPalindrome(char chaine[], int index)

int len = strlen(chaine);

int len_index = len - (index + 1);

if (chaine[index] == chaine[len_index])

if (index + 1 == len_index || index == len_index)

printf(" C'est un palindrome.\n");

return;

TestPalindrome(chaine, index + 1);//calling the function itself recursively

else

printf(" Ce n'est pas un palindrome.\n");

int main()
{

char chaine[25];

printf(" Entrez votre chaine : ");

scanf("%s", chaine);

TestPalindrome(chaine, 0);

scanf("\n");

return 0;

EX12 :

#include <stdio.h>

int main()

char alph[27];

int i;

char *ptr;

ptr = alph;

for(i=0;i<26;i++) {

*(ptr+i)='A'+i;

ptr++;

}
ptr = alph;

printf("Afficher tous les alphabets: \n");

for(i=0;i<26;i++)

printf(" %c ", *(ptr+i));

ptr++;

scanf("\n");

return(0);

Vous aimerez peut-être aussi