我在这个问题上停留了一段时间。我是C语言编程的新手,我想弄清楚如何查看用户是否输入了1到20之间的数字,并检查用户输入的数字是否出现在1到20之间的随机数数组中,然后向用户显示他们输入的数字显示为“次数”。
#include <stdio.h>
#include <stdlib.h>
#define N 30
int main(void)
{
int nums[N];
int numAppear, i, count = 0;
int n;
for (i = 0; i < N; i++) {
nums[i] = rand()%20 + 1;
}
for (i = 0; i < N; i++) {
printf("Enter a number between 1 and 20 to be found (<=0 for exit): ");
scanf("%d", &n);
if (n <= 0) {
printf("End\n");
break;
}
else if (nums[j] == n) {
count++;
printf("%d appears %d times \n" , n, count);
}
else {
printf("%d appears %d times \n" , n, count);
}
}
return 0;
}
答案 0 :(得分:1)
您要在循环中的每次迭代中向用户询问一个数字,并在每次迭代中打印计数。另外,您应该索引nums[i]
,而不是nums[j]
将输入移动到循环之前,将输出移动到循环之后。
printf("Enter a number between 1 and 20 to be found (<=0 for exit): ");
scanf("%d", &n);
if (n <= 0) {
printf("End\n");
return 1;
}
for (i = 0; i < N; i++) {
if (nums[i] == n) {
count++;
}
}
printf("%d appears %d times \n" , n, count);