[ad_1]
Description Write a function that takes one string and, capitalize the last character of each word in uppercase and the rest in lowercase. A word is a section of string delimited by spaces/tabs or the start/end of the string. If a word has a single letter, it must be capitalized. A letter is a character in the set [a-zA-Z]
I keep getting errors and failures, which I cannot figure out
Ce que j’ai essayé :
#include <stdio.h> #include <ctype.h> char* rcapitalize(char* str) { int i = 0; while (str[i] != '\0') { if (isalpha(str[i])) { str[i] = tolower(str[i]); if (!isalpha(str[i + 1])) { str[i] = toupper(str[i]); } } i++; } return str; }
Solution 1
Si j’exécute votre code :
C
#include <stdio.h> #include <ctype.h> char* rcapitalize(char* str) { int i = 0; while (str[i] != '\0') { if (isalpha(str[i])) { str[i] = tolower(str[i]); if (!isalpha(str[i + 1])) { str[i] = toupper(str[i]); } } i++; } return str; } int main() { char data[] = "Hello World"; printf("%s\n", rcapitalize(data)); return 0; }
Ensuite j’obtiens ce que j’attends :
Résultat
hellO worlD
C’est ce que demande la mission – en quelque sorte.
Alors vérifiez comment vous appelez votre fonction – c’est peut-être votre problème !
Relisez ensuite le devoir : quel devrait être le résultat si je teste “Je m’appelle Mike avec un trait d’union – pouvez-vous lire ceci ?” ?
[ad_2]
コメント