Quote:

Originally Posted by **Snip**

This code does the trick:

Code:

`#include <stdio.h>`

#include <stdlib.h>

#include <time.h>

int main() {

// Set seed for rand() function, if you don't do this the

// numbers will be the same everytime you call the program

srand((unsigned)time(NULL));

unsigned int digits;

printf("Number of digits: ");

scanf("%u",&digits);

unsigned int num = 0;

int i;

for(i = 0; i < digits; i++) {

// Multiplies the original number by ten and then adds

// a random number from 0 - 9 to it

num = num*10 + (rand() % 10);

}

printf("Random number: %u\n",num);

return 0;

}

The biggest value of an unsigned int = 2^32 = 4294967296, which is 10 digits long. So that means that when the user wants a number with more than 10 digits, the program will be giving smaller numbers... Test it yourself

**Thanx Alot Snip for the given code...**

**The problem with that code is: It may repeat the same numbers..That is, it may generate 33 for example more than one time...So How can I eliminate this ?**

**Other problem is: How can I get the specifies length ? For example, If I say the number of digits required is 5....So 33 maybe one of the random numbers generated. I don't want to get 33, I want to get 00033 which consists of 5 digits...So How can I solve this extra problem ?**

**Thanx again Snip...**