C程序设计第六章作业 5
问:
将一组排好序的数组以逆序(相反)的方式排序
答:
#include<stdio.h> //奇数版
int main() {
int i = 0, j = 0;
int Num[10] = { 1,2,3,4,5,6,7,8,9};
int Temp1 = 0, flag = 0;
printf("Original data is :\n");
for (i = 0; i < 10; i++) {
printf("%d\t", Num[i]);
}
printf("\n");
flag = 8;//指向最后一个数据
for (i = 0; i <4; i++) {
Temp1 = Num[i];
Num[i] = Num[flag];
Num[flag] = Temp1;
flag--;//每次数据指向-1
}
printf("New data is :\n");
for (i = 0; i < 9; i++) {
printf("%d\t", Num[i]);
}
}
运行截图:

#include<stdio.h> //偶数版
int main() {
int i = 0, j = 0;
int Num[10] = { 1,2,3,4,5,6,7,8,9,10 };
int Temp1 = 0, flag = 0;
printf("Original data is :\n");
for (i = 0; i < 10; i++) {
printf("%d\t", Num[i]);
}
printf("\n");
flag = 9;//指向最后一个数据
for (i = 0; i < 5; i++) {
Temp1 = Num[i];
Num[i] = Num[flag];
Num[flag] = Temp1;
flag--;//每次数据指向-1
}
printf("New data is :\n");
for (i = 0; i < 10; i++) {
printf("%d\t", Num[i]);
}
}
运行截图:
