<span style="font-size:24px;"> int a[20] = {0};
int b[10] = {0};
for (int i = 0; i < 20; i++) {
a[i] = arc4random() % 9000 + 1000;
printf("%d ", a[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}//5个数换一行
}//产生随机数
printf("\n");
int temp = 0;
for (int i = 0; i < 19; i++) {
for (int j = 0; j < 19 - i; j++) {
if (a[j] % 1000 > a[j + 1] % 1000) {
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}//按每个数的后三位的大小进行升序排列
for (int i = 0; i < 20; i++) {
printf("%d ", a[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}
}//输出按每个数的后三位的大小进行升序排列的20个数
printf("\n");
for (int i = 0; i < 10; i++) {
b[i] = a[i];
}//前10个数放入数组b中
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9 - i; j++) {
if (b[j] % 1000 == b[j + 1] % 1000 && b[j] / 1000 < b[j + 1] / 1000) {
temp = b[j + 1];
b[j + 1] = b[j];
b[j] = temp;
}
}
}//如果后三位的数值相等,则按原先的数值进行降序排列
for (int i = 0; i < 10; i++) {
printf("%d ", b[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}
}//最后输出数组b的内容
printf("\n");
</span>