Как сортировать массив с рандомными значениями?
До сортировки дело не доходит.
1. тут:
int i, a, n, j, b, d;
int x[i];
Как вы думаете, какой размерности будет массив х после этого объявления?
2. в цикле генерации рандомного массива: 
for(d=0; d < n; d++)
  x[i] = rand();
Какому элементу массива вы присваиваете значение?
3.    printf("%d", x[i]);
Какой элемент выводится? Сколько элементом выведется?

А это вообще праздник какой-то:
system("chcp 1251");
  system("cls");
  system("title Pr101");
  system("Color F0");
Но ошибки тут нет :)
for(d=0; d < n; d++)
  x[i] = rand();
 printf("%d", x[i]);

Цикл по d а присваивание в x[i]. Еще скобок нет, printf выполнится только один раз после цикла.

Еще вы не выводите массив после сортировки, как вы вообще собираетесь понимать, что ваша программа работает?

В самой сортировке (циклы по i и j), вроде, ошибок нет.