Programm wird prüfen, ob ein gegebenes Wort groß geschrieben ist oder nicht. Wenn nicht, wird die Ausgabe großgeschrieben und gedruckt. Während der Großschreibung bleiben alle Buchstaben außer der ersten unverändert.Word Großschreibung falsche Antwort in Online-Richter
Eingabe: Eine einzelne Zeile enthält ein nicht leeres Wort. Dieses Wort besteht aus englischen Klein- und Großbuchstaben. Die Länge des Wortes wird 1000 nicht überschreiten.
Ausgabe: Gibt das angegebene Wort nach Großschreibung aus.
Zum Beispiel:
Eingang: APFEL
Ausgang: APFEL
Eingang: Konjac
Ausgang: Konjac
#include<stdio.h>
#include<string.h>
int main(void)
{
char word[1000];
int lengthOfWord, i;
scanf("%[^\n]c",word);
lengthOfWord = strlen(word);
if(word[0]>=97 && word[0]<=122)
word[0] = word[0] - 32;
for(i=0; i<=lengthOfWord; i++)
printf("%c",word[i]);
return 0;
}
ich debuggen, dieses Programm in Codeblocks 16.01. Es zeigt keinen Fehler an. Aber es zeigt falsche Antwort, wenn ich im Online-Richter (vjudge) einreiche.
Ich weiß einfach nicht genau, was das Problem ist. Könnte mir jemand helfen, dieses Problem zu untersuchen?
Vielen Dank.
Ihre 'scanf' braucht'% s', nicht '% c ' –
' i <= lengthOfWord' sollte 'sein i
' wenn (Wort [0]> = 97 && Wort [0] <= 122) 'wäre besser geschrieben als' if (Wort [0]> = 'a' && Wort [0] <= 'z') ' –