This commit is contained in:
2026-02-05 16:11:51 +01:00
parent dcbd6de602
commit b400d34574
8 changed files with 87 additions and 2 deletions
+69
View File
@@ -0,0 +1,69 @@
#include <stdio.h>
#include <stdlib.h>
int get_number_length(int value){
if (value > 0 && value < 10) return 1;
int clc = 0;
if (value < 0) {
value = value * -1;
clc ++;
}
while (value > 10 ){
clc ++;
value = value / 10;
}
return clc + 1;
}
char *my_itoa(int value){
int taille = get_number_length(value);
char *rslt = malloc(taille + 1 * sizeof(char));
if (value < 0){
value = value * -1;
*rslt = '-';
}
*(rslt + taille) = '\0';
if(value < 10){
if( *rslt == '-')*(rslt + 1) = value + 48;
else *(rslt) = value + 48;
return rslt;
}
taille --;
while (taille > 0){
*(rslt + taille) = 48 +value % 10;
value = value / 10;
taille --;
}
return rslt;
}
int main(){
printf("TESTS 1 \n");
printf("%i\n", get_number_length(7)); //1
printf("%i\n",get_number_length(-97163)); //6
printf("%i\n",get_number_length(82622)); //5
printf("TESTS 2\n");
char *rslt = "";
rslt = my_itoa(-172); // "-172"
printf("%s\n", rslt);
free(rslt);
rslt = my_itoa(2); // "2"
printf("%s\n", rslt);
free(rslt);
rslt = my_itoa(-2829302); // "-2829302"
printf("%s\n", rslt);
free(rslt);
}