将整数与整数数组的元素进行比较

时间:2014-02-04 16:37:38

标签: c arrays

我是编程的新手,我搜索但没有一个问题是我的问题的确切答案或语言不是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;

} 

5 个答案:

答案 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;
}