我是编程的新手,我搜索但没有一个问题是我的问题的确切答案或语言不是c。我正在编程其他东西,但我只想简化自己以便更好地理解。所以我的问题是,当我输入列表中的数字时,我怎么能看到完成?
#include <stdio.h>
int main()
{
int c[ ] = {0, 1, 2};
int x;
scanf("%d", &x);
if( *c == x )
printf("Done");
else
printf("Fail");
return 0;
}
答案 0 :(得分:0)
您需要循环遍历数组中的元素(例如使用for
)并将每个条目与x的值进行比较。
答案 1 :(得分:0)
检查列表中的每个值;如果你看到一场比赛,宣布胜利并返回。
如果未找到匹配项,则打印“失败”。
#include <stdio.h>
int main()
{
int c[ ] = {0, 1, 2};
int x;
int i;
scanf("%d", &x);
for ( i = 0; i < 3; ++i )
{
if ( c[i] == x )
{
printf("Done");
return 0;
}
}
printf("Fail");
return 0;
}
答案 2 :(得分:0)
#include <stdio.h>
int main()
{
int c[ ] = {0, 1, 2};
int x, i;
scanf("%d", &x);
for(i=0;i<3;i++)
if( c[i] == x )
{
printf("Done");
break;
}
if(i==3)
printf("Fail");
return 0;
}
答案 3 :(得分:0)
以下是一种(不那么整洁)的方式。
在C中,使用数组名称后跟方括号和整数值(可以是常量,变量,函数调用或提供整数的任何其他内容)来引用数组的每个元素。
通过使用for循环并使用循环变量来引用数组,您将检查元素0,然后是元素1,等等。
#include <stdio.h>
int main()
{
int c[] = {0, 1, 2};
int x;
scanf("%d", &x);
int i = 0;
for(i=0;i<3;i++) {
if(c[i] == x )
printf("Done");
else
printf("Fail");
}
return 0;
}
在实际代码中,你不会在for循环中使用“i&lt; 3”,因为这意味着循环不会随着数组的大小而缩放。
正如Paul Roub在评论中所指出的,如果您输入2,则会显示“FailFailDone”。如果您只想在成功时显示值,则可以使用“break”或“return”(0) )“在第一次印刷声明之后。示例如下。
for(i=0;i<3;i++) {
if(c[i] == x )
{
printf("Done");
return(0);
}
}
printf("Fail");
在interjay评论之后进行了进一步的编辑。现在代码只会在找到号码时打印“完成”,否则会打印“失败”。
答案 4 :(得分:0)
以下是您问题的解决方案:
#include <stdio.h>
int main()
{
int c[] = {0, 1, 2};
int x;
scanf("%d", &x);
int i=0;
while(c[i]!=x && i<3)
{
i++;
}
if(i==3)
{
printf("FAIL");
}
else
{
printf("DONE");
}
return 0;
}