c - 如何搜索数组中的数字?
问题描述
- 我必须获取用户输入并在数组中搜索用户输入
- 如果有与用户输入完全匹配的数字,那么我必须显示“您输入的数字在数组中”
- 如果数组中没有匹配的数字,那么我需要显示“您输入的数字不在数组中”
但目前我遇到了错误的输出,我仔细检查了用户输入是否在数组中,但结果显示为“没有数字匹配”。
我怎么解决这个问题?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void arrayresult(int arraylength[], int &input_num)
{
for (int i = 0; i < 10; i++)
{
if (arraylength[i] == input_num)
{
printf("The number you entered is in the array");
break;
}
else
{
printf("The number you entered is not in the array");
break;
}
}
}
int main(void)
{
int input_num;
int arrayindex;
int arraylength[10];
int i = 0;
srand(time(NULL));
for (i = 0; i < 10; i++)
{
arrayindex += 1;
arraylength[i] = rand() % (99 + 1 - 11) + 11;
printf("A[%d]: %d ", arrayindex, arraylength[i]);
}
printf("\n");
printf("Enter the number you want to search: ");
scanf("%d", &input_num);
arrayresult(arraylength, input_num);
return 0;
}
解决方案
您签入数组的逻辑是错误的。尝试这个
void arrayresult(int arraylength[], int input_num) {
bool isFound = false;
// iterate over till you found the number or reaches end of array
for (int i = 0; i < 10; i++){
if (arraylength[i] == input_num){
isFound = true;
break;
}
}
if(isFound == true) {
printf("The number you entered is in the array");
}else{
printf("The number you entered is not in the array");
}
}
推荐阅读
- javascript - 如何将我本地的 webhook 连接到 dialogflow?
- angular - 视频未在 WebRTC Simple-Peer Angular 7 的其他对等端播放
- django - Google 结构化数据模板中的日期显示
- python - Python二分查询
- docker - 无法访问位于 Docker 容器内的 Spark Web UI
- html - 如何将子弹性框宽度设置为 100%
- python - 在 python 中检查一系列掷硬币的 3 序列
- python - tensorflow:过滤器与内核和步幅
- r - 如何将权重合并到似然函数中?
- python-3.x - PyZMQ Dockerized pub sub - sub 不会收到消息