【发布时间】:2019-09-25 12:20:34
【问题描述】:
我做了一个程序,询问应该在一个数组中输入多少元素,所以如果用户输入 3,它会要求一个值存储在数组中,然后程序再次要求输入,“输入一个号”。
如果用户输入一个已经存储在数组中的值,它应该显示例如“您输入的数字已经存储在数组中”。
我的教授把这个任务交给了我们,他说我们应该只使用数组和 for 循环。我是这个计算机编程的新手,目前正在大学一年级学习编程。如果有人可以帮助我,那就太好了。
int main()
{
int Array[50], i, Number;
int cont;
printf("\nPlease Enter Number of elements in an array : ");
scanf("%d", &Number);
printf("\nPlease Enter %d elements of an Array \n", Number);
for (i = 0; i < Number; i++)
{
scanf("%d", &Array[i]);
}
printf("ENTER NUMBER: ");
scanf("%d", &cont);
if(cont = Array[0]){
printf("the number you input is stored in array# %d", Array[1]);
}
}
预期的输出应该是这样的
Please Enter Number of elements in an array: 3
Please Enter 3 elements of an Array
10
20
30
ENTER NUMBER:20
the number you input is stored in array# 1
但我的代码中的输出是。
Please Enter Number of elements in an array: 3
Please Enter 3 elements of an Array
10
20
30
ENTER NUMBER:20
the number you input is stored in array# 20
【问题讨论】:
-
您应该在数组的边界内循环并检查每个值本身。如果您找到了该值,请中断循环并打印索引变量。如果用户输入大于 50 的数字,
for (i = 0; i < Number; i++)也是一个危险语句,因为您的Array仅包含 50 个元素。 -
你能解释一下你希望这段代码做什么:
if(cont = Array[0]){ printf("the number you input is stored in array# %d", Array[1]); } -
cont = Array[0]->cont == Array[0]。但最有可能出现 mor 错误。 -
@AlexLop。如果用户向数组输入相等的值,它将打印下面的代码,我还是编程新手。
-
@Trickzter 谢谢你们救了我 :)