Bonjour, j'ai commencé à faire les exos du QCM 2014 en C, mais je dois avouer que la tronche des sources à compléter en C sont loins d'être agréables à lire...
1 2 | #include<stdio.h> #include<stdlib.h> |
void croissance(int* deltas, int len){
/* Complétez le code ici */
}
int is_number(char c){
return c \<= '9' && c >= '0';
}
int* read_deltas(int len){
int *result = malloc( len * sizeof(int));
{
int index;
for (index = 0 ; index \< len; index++)
{
int num = 0;
char current_char = '\000';
scanf("%c", ¤t_char);
int ok = is_number(current_char);
while (ok)
{
num = num * 10 + current_char - '0';
scanf("%c", ¤t_char);
ok = is_number(current_char);
}
result[index] = num;
}
}
return result;
}
int main(void){
int len = 0;
scanf("%d", &len);
scanf("%*[ \t\r\n]c", 0);
int* deltas = read_deltas(len);
croissance(deltas, len);
return 0;
}
Alors qu'en rajoutant des espaces dans le format de scanf, on peut obtenir un code équivalent en seulement quelques lignes:
1 2 | #include <stdio.h> #include <stdlib.h> |
void croissance(int* deltas, int len){
/* Complétez le code ici */
}
int main(void){
int i, n, *deltas;
scanf("%d\n", &n);
deltas = malloc(n * sizeof(int));
for(i = 0;i\<n;i++)
scanf(" %d", deltas+i);
croissance(deltas, n);
return 0;
}
Est-ce que la personne qui a fait cette source à compléter déteste le C, ou bien y a-t-il une autre raison ?