C 接收用户输入,搜索其范围值在数组中的位置,并返回2d数组的行索引
这是我的2d阵列,列出了可用速度。这个密码我必须遵守。如果我的用户输入C 接收用户输入,搜索其范围值在数组中的位置,并返回2d数组的行索引,c,for-loop,multidimensional-array,C,For Loop,Multidimensional Array,这是我的2d阵列,列出了可用速度。这个密码我必须遵守。如果我的用户输入75349作为他们的时钟速度输入,我将如何识别该速度并返回行索引的值?。。。这是第2行int2d数组,因为它位于7500-14900之间 int UserClockSpeedInput const uint32 SpeedTable[5][2] { {15000, 99990}, //between 15k - 99.99k {7500, 14900}, //between 7.5k - 14.9k {3500,7400},
75349
作为他们的时钟速度输入,我将如何识别该速度并返回行索引的值?。。。这是第2行int
2d数组,因为它位于7500-14900之间
int UserClockSpeedInput
const uint32 SpeedTable[5][2] {
{15000, 99990}, //between 15k - 99.99k
{7500, 14900}, //between 7.5k - 14.9k
{3500,7400},
{1900,3400},
{6000,1800}
}
我想返回用户输入的任何值的行索引,
这些是我已经设置好的设置值。不允许他们输入任何其他值
for(i=0;i<5;i++)
{
for(j=0;j<2;j++)
{
//not sure of what to do from here.
for(i=0;i您希望对照数组中提供的上限和下限检查输入。您应该检查输入是否大于第一个元素,而小于第二个元素
#include <stdio.h>
void main(){
const int SpeedTable[5][2] = {
{15000, 99990}, //between 15k - 99.99k
{7500, 14900}, //between 7.5k - 14.9k
{3500,7400},
{1900,3400},
{6000,1800}
};
int user_input = 7534;
int i;
for (i = 0; i < sizeof(SpeedTable)/ (2 * sizeof(int)); i++){
if (SpeedTable[i][0] < user_input && SpeedTable[i][1] > user_input){
break;
}
}
printf("%d\n", i);
}
#包括
void main(){
const int SpeedTable[5][2]={
{15000,99990},//在15k-99.99k之间
{7500,14900},//在7.5k-14.9k之间
{3500,7400},
{1900,3400},
{6000,1800}
};
int user_input=7534;
int i;
对于(i=0;iuser\u input){
打破
}
}
printf(“%d\n”,i);
}
我将如何识别该速度并返回行索引的值
解决方案:
您只需使用以下for
循环即可实现
int number; //variable to hold user's input
//scanning user's input
printf("enter any number : ");
scanf("%d",&number);
//for loop to determine position
for (int index = 0; index < 5; index++)
{
if( (number >= SpeedTable[i][0]) && (number <= SpeedTable[i][1]) )
{
break;
}
}
//printing index
printf("return index value : %d ",i);
欢迎访问堆栈溢出!请先将您的研究成果显示出来。请阅读第一页。<代码>主< /代码>有无效的签名。使用<代码> int main(空隙)<代码>代替<代码> SIEZOF(Suffice)…<代码>是一个好主意。请考虑<速码表/代码表> [代码0 ] < /代码> HMM.我期待<代码>速度表[i](0)为什么从OP的uint32
更改为int
?
#include <stdio.h>
int main(void){
const unit32 SpeedTable[5][2] = {
{15000, 99990}, //between 15k - 99.99k
{7500, 14900}, //between 7.5k - 14.9k
{3500,7400},
{1900,3400},
{600,1800} //between 0.6k - 1.8k
};
int number;
printf("enter any number : ");
scanf("%d",&number);
int i;
for (i = 0; i < 5; i++)
{
if( (number >= SpeedTable[i][0]) && (number <= SpeedTable[i][1]) )
{
break;
}
}
printf("return index value : %d ",i);
}