C UVA问题提交要求
我很困惑,因为UVA对正确答案的要求是什么,因为我一直在做一些简单的问题,但我提交的所有代码都被证明是错误的,即使我已经测试过了,并且输出都是正确的。我甚至将我的代码与其他人的代码进行了比较,代码“几乎”相同。例如,第12250号问题 这是我的错误代码:C UVA问题提交要求,c,cuda-uva,C,Cuda Uva,我很困惑,因为UVA对正确答案的要求是什么,因为我一直在做一些简单的问题,但我提交的所有代码都被证明是错误的,即使我已经测试过了,并且输出都是正确的。我甚至将我的代码与其他人的代码进行了比较,代码“几乎”相同。例如,第12250号问题 这是我的错误代码: #include<stdio.h> #include<string.h> int main(){ int i=1; char sen[80]; while(scanf("%
#include<stdio.h>
#include<string.h>
int main(){
int i=1;
char sen[80];
while(scanf("%s",&sen)!=EOF){
if(!strcmp(sen,"HELLO")) {
printf("Case %d: ENGLISH\n",i);
}
else if(!strcmp(sen,"HOLA")) {
printf("Case %d: SPANISH\n",i);
}
else if(!strcmp(sen,"HALLO")) {
printf("Case %d: GERMAN\n",i);
}
else if(!strcmp(sen,"BONJOUR")) {
printf("Case %d: FRENCH\n",i);
}
else if(!strcmp(sen,"CIAO")) {
printf("Case %d: ITALIAN\n",i);
}
else if(!strcmp(sen,"ZDRAVSTVUJTE")) {
printf("Case %d: RUSSIAN\n",i);
}
else if(!strcmp(sen,"#")) {
break;
}
else{
printf("case %d: UNKNOWN\n",i);
}
++i;
}
return 0;
}
#包括
#包括
int main(){
int i=1;
查尔森[80];
while(scanf(“%s”,&sen)!=EOF){
如果(!strcmp(sen,“HELLO”)){
printf(“案例%d:ENGLISH\n”,i);
}
如果(!strcmp(sen,HOLA)){
printf(“案例%d:西班牙语”,i);
}
如果(!strcmp(sen,HALLO)){
printf(“案例%d:德语”,i);
}
否则如果(!strcmp(sen,“你好”){
printf(“案例%d:法语”,i);
}
如果(!strcmp(sen,“CIAO”){
printf(“案例%d:意大利语”,i);
}
如果(!strcmp(sen,“zdravstwujte”){
printf(“案例%d:俄语”,i);
}
如果(!strcmp(sen,“#”)为{
打破
}
否则{
printf(“案例%d:未知\n”,i);
}
++一,;
}
返回0;
}
这是一个被接受的准则:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char word[80];
int i = 1;
while (scanf("%s", &word) != EOF) {
if (strcmp(word, "#") == 0) {
break;
}
else if (strcmp(word, "HOLA") == 0) {
printf("Case %d: SPANISH\n", i);
}
else if (strcmp(word, "HELLO") == 0) {
printf("Case %d: ENGLISH\n", i);
}
else if (strcmp(word, "HALLO") == 0) {
printf("Case %d: GERMAN\n", i);
}
else if (strcmp(word, "BONJOUR") == 0) {
printf("Case %d: FRENCH\n", i);
}
else if (strcmp(word, "CIAO") == 0) {
printf("Case %d: ITALIAN\n", i);
}
else if (strcmp(word, "ZDRAVSTVUJTE") == 0) {
printf("Case %d: RUSSIAN\n", i);
}
else {
printf("Case %d: UNKNOWN\n", i);
}
++i;
}
return 0;
}
#包括
#包括
#包括
int main(){
字符字[80];
int i=1;
while(scanf(“%s”,&word)!=EOF){
if(strcmp(单词“#”)==0){
打破
}
否则如果(strcmp(字,“HOLA”)==0){
printf(“案例%d:西班牙语”,i);
}
else if(strcmp(字,“HELLO”)==0){
printf(“案例%d:ENGLISH\n”,i);
}
else if(strcmp(字,“HALLO”)==0){
printf(“案例%d:德语”,i);
}
else if(strcmp(字,“你好”)==0){
printf(“案例%d:法语”,i);
}
否则如果(strcmp(字,“CIAO”)==0){
printf(“案例%d:意大利语”,i);
}
否则如果(strcmp(字,“ZDRAVSTVUJTE”)==0){
printf(“案例%d:俄语”,i);
}
否则{
printf(“案例%d:未知\n”,i);
}
++一,;
}
返回0;
}
我找不到我的错误在哪里,我会非常感谢你的帮助。谢谢你
案例%d:UNKNOWN
是错误的,因为使用了小写的c
。还要注意scanf(“%s”)、&sen)
和scanf(“%s”、&word)
通过传递类型错误的数据来调用未定义的行为:char*
是预期的,但char(*[80]
是传递的。您应该删除&
@MikeCAT,非常感谢!显然,更改小写的c
就足够了。这么愚蠢的错误哈哈