Académique Documents
Professionnel Documents
Culture Documents
#include <stdio.h>
unsigned long strlength(char * str)
{
unsigned long len=0;
while(str[len]!=0)//ou while(str[len]) /iugt/ou while(*str++)
{
len++;
}
return len;
}
int main()
{
char str [50];
printf("saisire une chaine de caractéres \n");
scanf("%s",str);
printf("la longueur de la chaine \"%s \"est %lu",str, strlength(str));
}
Exercice 2
#include <stdio.h>
#include <string.h>
short strcomp(char * str1, char * str2)
{
unsigned long position=0;
while((str1[position]!='\0')&&(str2[position]!='\0')&&str1[position]==str2[position])
{
position++;
}
if (str1[position]-str2[position]>0)
return 1;
else if (str1[position]-str2[position]<0)
{
return -1;
}
return str1[position]-str2[position];
}
int main()
{
char str1 [50], str2 [50];
printf("saisire une chaine de caractéres \n");
scanf("%s",str1);
printf("saisire une chaine de caractéres \n");
scanf("%s",str2);
printf("ordre lexicographique entre la chaine %s et la chaine %s est
%d",str1,str2,strcomp(str1,str2));
}
Exercice 3
#include <stdio.h>
#include <string.h>
void delspace(char *s)
{
int i,j;
i=0;
while(s[i]!='\0')
{
if(s[i]==' ')
{
j=i+1;
while(s[j]!='\0')
{
s[j-1]=s[j];
j++;
}
s[j-1]='\0';
}
else
{i++;}
}
}
int main()
{
char s[] = "bonjour à tous";
printf("la chaine sans suppression des espaces et des tabulationss \n");
printf("s = %s\n", s);
delspace(s);
printf("la chaine aprés suppression des espaces et des tabulationss \n");
printf("s = \"%s\"\n", s);
}
Exercice 4
#include <stdio.h>
// Subtitution/
// La substition s'arrête si
// - la fin de la chaîne str est atteinte,
// ou - la fin de la chaîne motif est atteinte,
// ou - len caractères ont déjà été substitués.
j=0;
i=pos;
while(str[i] != '\0' && mot[j] != '\0' && j < len)
{
str[i] = mot[j];
i++, j++;
int main()
{
char s [] = "bonjour à tous";
strsubs(s, "soirée", 3, 4);
printf("s = \"%s\"\n", s);
return 0;
}Exercice 5
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void strreverse(char *s)
{
char tmp;
unsigned int n;
int i;
n=strlen(s);
for (i=0; i <(n)/2; i++)
{
tmp=s[i];
s[i]=s[n-1-i];
s[n-1-i]=tmp;
}
}
void palindrome(char * s)
{
char* t;
short b;
unsigned int n;
n=strlen(s);
t=(char*)malloc(n*sizeof(char));
strcpy(t,s);
strreverse(s);
b=strcmp(t,s);
if (b==0)
{printf("Cette chaîne est un palindrome \n");}
else
{printf("Cette chaîne n'est pas un palindrome \n");}
}
int main()
{
char s[] = "bonjour à tous";
strreverse(s);
printf("s = \"%s\"\n", s);
char pal[]="non";
palindrome(pal);
return 0;
}
Exercice 6
#include<stdio.h>
int mois_jours[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char *mois[]=
{
" ",
"\n\n\n\tJanvier",
"\n\n\n\tFevrier",
"\n\n\n\tMars",
"\n\n\n\tAvril",
"\n\n\n\tMai",
"\n\n\n\tJuin",
"\n\n\n\tJuillet",
"\n\n\n\tAout",
"\n\n\n\tSeptembre",
"\n\n\n\tOctobre",
"\n\n\n\tNovembre",
"\n\n\n\tDecembre"
};
x = (annee - 1) / 4;
y = (annee - 1) / 100;
z = (annee - 1) / 400;
codejour = (annee + x - y + z) %7;
return codejour;
}
/* Boucle for du jour 1 au dernier jour du mois, pour imprimer toutes les dates
d'un mois*/
for ( j = 1; j <= mois_jours[m]; j++ )
{
printf("%2d", j );
}
}
int main()
{
int annee, codejour;
printf("Veuillez saisir une année à quatre chiffres, {Exemple} 2020: ");
scanf("%d", &annee);
codejour = code_premier_jour(annee);
fevrier_jours(annee);
afichage_calendrier(annee, codejour);
printf("\n");
return 0;
}