Hallo Leute, dieses Programm macht eine Funktion, die eine Reihe von Zufallszahlen erzeugt. Es verwendet dann eine andere Funktion, um anzuzeigen, wie oft die von einem Benutzer angegebene Nummer in der Liste ist. Ich habe Probleme in den Zeiten, die Anzeige eine Zahl zeigt, in der Anordnung nach oben, da der Ausgang 0.Finden der Zeiten, die ein # in einem Array ist
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
Typ immer eine Zahl, um zu sehen, wie oft er in der Liste erscheint: 16 .Ihre Nummer aufgeführt 0 mal
-Code
#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;
}
Sie haben ein Semikolon am Ende der Anweisung 'for'. – user3386109
Ich nahm das ";" aus und lief es wieder ohne Veränderung. Zeigt immer noch 0 an, wenn eine Nummer in der Liste ist. – jun
Das ist nur die Spitze des Eisbergs in diesem Code. 'j = j ++;' ruft undefiniertes Verhalten auf. Sie fügen 'stdlib.h' nie ein, das die Definition von' srand() 'enthält. Sie enthalten nie "time.h", die die Deklaration von "time()" enthält. Sie haben noch viel Arbeit vor sich. – WhozCraig