0

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

  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,则必须显示一个错误,告诉您重试。关于我们如何以简单的方式做到这一点的任何想法。或者甚至指出我正确的方向。

我很感激。谢谢你。

4

1 回答 1

1

这真的很容易——至少和 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 中的一个好主意)。

于 2012-11-18T13:35:03.843 回答