C 创建数组并检查输入错误

标签 c arrays validation input conditional-statements

简单的问题。我正在尝试构建一个简单的脚本来询问您一个号码。该整数将是您将输入的数字总数。然后你的程序找到最大的数字和最小的数字。我已经建立了它。简单。

  int CHECK=100;
  int a[50],size,i,max,min;

  printf("\nEnter the size of the array: ");
  scanf("%d",&size);
  printf("\nEnter %d numbers: ", size);
  for(i=0;i<size;i++)
  scanf("%d",&a[i]);
  }
  max=a[0];
  for(i=1;i<size;i++){
     if(max<a[i])
       max=a[i];
  }
 printf("\nLargest element: %d",max);
 printf("\n");
 min=a[0];
 for(i=1;i<size;i++){
  if(min>a[i])
       min=a[i];
}
printf("Smallest element: %d",small);
printf("\n");

return 0;
}

我的问题是,我怎样才能告诉检查条件。例如,用户只能输入小于 100 的正数。因此,如果您输入 -4 或 201,则必须显示错误,告诉您重试。 关于我们如何以简单的方式做到这一点的任何想法。或者甚至为我指明正确的方向。

我很感激。谢谢。

最佳答案

这确实非常简单 - 至少和 Python 一样简单。我坚持使用您的 scanf 来说明情况,但请参阅 @j_random_hacker 的评论 (++)。

for(i=0; i < size; i++) {
    scanf("%d",&a[i]);
    if ( a[i] < 0 || a[i] > 99 ) {
        fprintf(stderr, "Number '%d' is out of range, try again: ", a[i]);
        i--;
    }
}

顺便说一句,您的代码中缺少 { ,我认为这是一个换位错误。 (一致的缩进将有助于拾取此类错误 - 这不仅仅是 Python 中的一个好主意)。

关于C 创建数组并检查输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440172/

相关文章:

C:从字符数组复制到 int

java - 如何查找java中给定代码段的控制结构中的条件数量

java - Spring MVC - 自动查找 validator

javascript - 只允许输入数字,包括负数和小数

C程序计算模式字符串的出现次数

c - 为什么使用 `execl` 而不是 `system` 会阻止我的程序运行?

php - 查看数组中的一项是否为真

php - 在 Symfony 2 类型中禁用选择字段的后端验证

c - 指定密码套件 libcoap

NDK中char和wchar_t的转换