Привет, ребята, эта программа создает функцию, которая создает массив случайных чисел. Затем он использует другие функции, чтобы отображать, сколько раз номер, предоставленный пользователем, указан в списке. У меня возникли проблемы в отображении раз число появляется в массиве, так как выход всегда 0.Поиск времени a # в массиве
10 32 31 5 34 39 10 15 39 25 26 10 27 21
50 31 3 21 29 16 12 42 29 30 8 28 19 8 39 1
19 50 34 2 4 18 40 14 34 30 40 12 41 16 32 42
48 34 12 28
Введите номер, чтобы увидеть, сколько раз он появляется в списке: 16 .your номер является перечисленные 0 раз
Код
#include <stdio.h>
int MakeRand()
{
srand(time(NULL));
}
void fillArray(int arr[], int high)
{
int i,N;
N = 50;
for (i=0;i<N;++i)
{
arr[i] = rand() % high +1;
printf("%d ", arr[i]);
}
}
int CountNumb(int arr[], int x)
{
int k,j;
j = 0;
for (k=0;k<50;++k);
{
if (arr[k] == x)
{
j = j++;
}
return j;
}
}
int main()
{
int nums[50];
int b,k,n;
MakeRand();
fillArray(nums,50);
printf("Type a number to see how many times it appears in your list: ");
scanf("%d",&n);
b = CountNumb(nums,n);
printf("Your number is listed %d times\n",b);
return 0;
}
У вас есть точка с запятой в конце инструкции 'for'. – user3386109
Я взял «;» и снова запускал его без изменений. Показывает 0, когда число находится в списке. – jun
Это только верхушка айсберга в этом коде. 'j = j ++;' вызывает неопределенное поведение. Вы никогда не включаете 'stdlib.h', в котором содержится определение' srand() '. Вы никогда не включаете 'time.h', в котором содержится объявление' time() '. У вас еще впереди много работы. – WhozCraig