rand() is the c function that will generate your random numbers; simply include <stdlib.h>, seed your generator with srand(12345), and successive calls to rand() will return an integer in the range [0,RAND_MAX]. To scale that back to the range you want (e.g. if you want numbers between 1-100) you normalize, scale, and translate, e.g.
ValueOneToHundred = ((double)rand() / RAND_MAX) * 99 + 1; // returns random integer between 1 and 100
Making sure you don't repeat numbers is a little more tricky. A simple way would be to check for each new number whether you've used it before, but that is slow.
Better solution for your problem might be filling your array in order, then doing a random sort operation on it. A simple one would be:
1) fill array with 100 sequential numbers, 1-100
2) pick two indices at random and swap the values
3) repeat until you feel satisfied
Result: "random" list of non-repeating numbers, 1-100