简单的问题。我正在尝试构建一个简单的脚本,它会询问您的数字。该整数将是您将输入的总数。然后你的程序找到最大的数字和最小的数字。我已经建立了这个。容易。
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,则必须显示错误,告诉您再次尝试。 关于我们如何以简单的方式做到这一点的任何想法。或者甚至指出我正确的方向。
我很感激。谢谢。
答案 0 :(得分: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中的一个好主意。)