Требования к отправке проблем с UVA

#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) and scanf("%s",amp;word) вызывает неопределенное поведение , передавая данные с неправильным типом: char* ожидается, но char(*)[80] передается. Вы должны удалить amp; .

3. @MikeCAT Большое вам спасибо! c По-видимому, достаточно изменить этот нижний регистр. Такая глупая ошибка, ха-ха