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]);
}
}
运行截图:
C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AC%AC%E5%85%AD%E7%AB%A0%E4%BD%9C%E4%B8%9A%205.assets/338968fb-a7f6-40d2-8171-36a9d18d5bcc.png#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]);
}
}
运行截图:
C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AC%AC%E5%85%AD%E7%AB%A0%E4%BD%9C%E4%B8%9A%205.assets/a521acf1-d5e5-47f2-b3d3-e97797c1ce57.png