#c
#c
Вопрос:
Я так смущен тем, каковы требования UVA к правильному ответу, поскольку я решал несколько простых задач, но весь мой код, который я отправил, оказался неправильным, хотя я его протестировал, и все результаты верны. Я даже сравнил свой код с кодом других людей, и код «почти» одинаковый. Например, эта проблема № 12250
Это мой неправильный код:
#include<stdio.h>
#include<string.h>
int main(){
int i=1;
char sen[80];
while(scanf("%s",amp;sen)!=EOF){
if(!strcmp(sen,"HELLO")) {
printf("Case %d: ENGLISHn",i);
}
else if(!strcmp(sen,"HOLA")) {
printf("Case %d: SPANISHn",i);
}
else if(!strcmp(sen,"HALLO")) {
printf("Case %d: GERMANn",i);
}
else if(!strcmp(sen,"BONJOUR")) {
printf("Case %d: FRENCHn",i);
}
else if(!strcmp(sen,"CIAO")) {
printf("Case %d: ITALIANn",i);
}
else if(!strcmp(sen,"ZDRAVSTVUJTE")) {
printf("Case %d: RUSSIANn",i);
}
else if(!strcmp(sen,"#")) {
break;
}
else{
printf("case %d: UNKNOWNn",i);
}
i;
}
return 0;
}
и это код, который принят:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char word[80];
int i = 1;
while (scanf("%s", amp;word) != EOF) {
if (strcmp(word, "#") == 0) {
break;
}
else if (strcmp(word, "HOLA") == 0) {
printf("Case %d: SPANISHn", i);
}
else if (strcmp(word, "HELLO") == 0) {
printf("Case %d: ENGLISHn", i);
}
else if (strcmp(word, "HALLO") == 0) {
printf("Case %d: GERMANn", i);
}
else if (strcmp(word, "BONJOUR") == 0) {
printf("Case %d: FRENCHn", i);
}
else if (strcmp(word, "CIAO") == 0) {
printf("Case %d: ITALIANn", i);
}
else if (strcmp(word, "ZDRAVSTVUJTE") == 0) {
printf("Case %d: RUSSIANn", i);
}
else {
printf("Case %d: UNKNOWNn", i);
}
i;
}
return 0;
}
Я не могу найти, в чем моя ошибка, и я буду очень признателен за помощь. Спасибо
Комментарии:
1.
case %d: UNKNOWN
неверно, потомуc
что используется нижний регистр.2. Также обратите внимание, что
scanf("%s",amp;sen)
andscanf("%s",amp;word)
вызывает неопределенное поведение , передавая данные с неправильным типом:char*
ожидается, ноchar(*)[80]
передается. Вы должны удалитьamp;
.3. @MikeCAT Большое вам спасибо!
c
По-видимому, достаточно изменить этот нижний регистр. Такая глупая ошибка, ха-ха