If you're talking about having multiple variables that are similar... then naming them with incremental names (like 'a', 'b', 'c') is almost always a bad idea.
You're usually better off using an array:
1 2 3 4 5 6 7 8 9
for( auto& x : values )
x = rand();
// or... if you're still living in the past and can't use basic C++11 features yet...
// this for loop is equivalent:
for( int i = 0; i < 3; ++i )
values[i] = rand();
While this isn't "shorter", it scales up much better. So if you need to change it so you have 20 variable instead of just 3... all you have to do is make the array bigger. Whereas if they all had unique names, you'd have to copy/paste a bunch of code.
std::srand( std::time(nullptr) ) ; // seed the C lcg
unsignedint z ;
std::cout << "how many random numbers? " ;
std::cin >> z ;
std::vector<int> numbers(z) ; // vector of z numbers
// fill it up with 'z' random numbers
std::generate_n( numbers.begin(), z, std::rand ) ;
// or: fill it up with 'z' random numbers
for( int& v : numbers ) v = std::rand() ;