尝试编写一个程序,该程序生成1000个随机整数b / w 0和1000的列表,然后找到第一个实例,该实例具有我选择的一定数量(在这种情况下,表示为“ iNum”,等于27),然后找到所述数字(iNum)在此数组中出现的总次数。

First()方法用于查找iNum首次出现在数组中的时间,Total()方法用于查找iNum出现在数组中的总次数。

尽管随机数生成器工作正常,但我似乎找不到找到将随机数组(表示为“ aRanArray”)和iNum“推入”该方法以执行操作的方法。

这是我的Main.c程序:

#include <stdlib.h>
#include <stdio.h>
#include "RanNum.h"

int main()
{
  //The arbitrary number to be looked for
  int iNum = 27;
  int iFirst = 0;
  int iTotal = 0;
  int aRanArray[1000];

  //Generating the random aRanArray
  for(int i = 0; i <= 1000; i++)
  {
    //Fills array
    aRanArray[i] = rand() % 1000;

    //Prints out numbers within array
    printf("%d ", aRanArray[i]);
  }
  //Finding the first time iNum appears in aRanArray
  iFirst = First(aRanArray, iNum);

  //Finding the number of times iNum appears in aRanArray
  iTotal = Total(aRanArray, iNum);

  //Printing out the values
  printf ("%d", iFirst);
  printf ("%d", iTotal);
}


在此随机数组中查找iNum的第一个实例的我的方法:

#include <stdlib.h>
#include <stdio.h>
#include "RanNum.h"

//Finding the first time iNum Appears in the array
int First(aRanArray*, iNum)
{
  for(int i = 0; i <= 1000; i++)
  {
    if(*aRanArray[i] == iNum)
    {
      return *aRanArray[i];
      break;
    }
    else
    {
      return -1;
    }
  }
}


查找数组中iNum出现的总次数的方法:

#include <stdlib.h>
#include <stdio.h>
#include "RanNum.h"

//Finding the total number of times iNum
//appears in aRanArray
int Total(aRanArray*, iNum)
{
  int iTotal = 0;
  for(int i = 0; i <= 1000; i++)
  {
    if(*aRanArray[i] == iNum)
    {
      iTotal++;
    }
  }
  return iTotal;
}


还有我的方法的RanNum.h文件:

#ifndef RANCOUNT
#define RANCOUNT
int First(int*, int);
int Total(int*, int);
#endif


我不断收到的错误消息是First()和Total()中aRanArray和iNum的unkonw类型名称。

最佳答案

int First(aRanArray*, iNum)


需要是

int First( int *aRanArray, int iNum )


匹配RanNum.h中的原型:

int First(int*, int);


Total函数相同。

09-25 17:08