习题 6.5 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

来源:互联网 发布:镧系元素物理性质知乎 编辑:程序博客网 时间:2024/05/22 17:32

C程序设计 (第四版) 谭浩强 习题6.5 个人设计

习题 6.5 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

代码块

方法1:

#include <stdio.h>int main(){    int a[5]={8, 6, 5, 4, 1};    int i, j, t;    for (i=0, printf("Original array: "); i<5; printf("%d ", a[i++]));  //输出原数组    printf("\n");    for (i=0, j=4; i<5/2; i++, j--){                                    //对原数组逆序排列,只需排列半数        t=a[j];        a[j]=a[i];        a[i]=t;    }      for (i=0, printf("Reverse array: "); i<5; printf("%d ", a[i++]));  //输出逆序数组    printf("\n");    return 0;}

方法2:

#include <stdio.h>int main(){    int n[8]={12, 33, 55, 67, 78, 89, 94, 99};    int i, j, r[8];    for (i=0, printf("Original array: "); i<8; printf("%d ", n[i++]));  //输出原数组    printf("\n");    for (i=0, j=7-i; i<8; r[j--]=n[i++]);                               //对原数组逆序排列,全排列    for (i=0, printf("Reverse array: "); i<8; printf("%d ", r[i++]));   //输出逆序数组    printf("\n");    return 0;}
阅读全文
0 0
原创粉丝点击