快速,可能超基本问题。 如果我声明的10个双打阵列,并且提示用户输入他们在(1至10,很明显)的索引多少双想,我将如何执行该范围? 我想用if / else语句,但有没有执行这一范围更优化的方式吗?
再次,可能真的很简单。 我是新所以还不熟悉C ++或JavaScript。
快速,可能超基本问题。 如果我声明的10个双打阵列,并且提示用户输入他们在(1至10,很明显)的索引多少双想,我将如何执行该范围? 我想用if / else语句,但有没有执行这一范围更优化的方式吗?
再次,可能真的很简单。 我是新所以还不熟悉C ++或JavaScript。
获取没有。 从用户到那没有元素。 是不是你的范围内。
假设n是您在范围1要10号。
解:
int n = 0;
while(n<1 || n>10) {
printf("Enter Correct value on n i.e. within range 1 to 10:\t");
scanf("%d", &n);
}
另一种解决方案也许如果使用%(模)运算所要求的范围内包裹的值。
int n;
int arr[10];
printf("Enter a number : ");
scanf("%d",&n);
printf("%d",arr[n%10]);
表达n%10
将总是导致在至9 0之间的值。
编辑(为了更好的验证):
#include<stdio.h>
main()
{
int x, n;
int arr[]={0,1,2,3,4,5,6,7,8,9,10,11,12};
printf("Enter a number : ");
if( scanf("%d",&n)!=1 )
{
printf("Not a valid integer!!");
return;
}
n=(n<0)?-n:n;
printf("%d",arr[n%10]);
}
首先,你应该阅读文档 ,因为这是一个非常简单的例子。
其次避免此请求的代码。 你应该总是试图找到解决办法,然后发布您的代码,你的错误在这里加以纠正。
你可以试试这个:
#include<stdio.h>
int main(){
int n = 0;
while(!(n > 1 && n < 10)){
printf("Enter an integer between 1 and 10: \n");
scanf("%d", &n);
}
}