数组逆序重放//C语言
04:数组逆序重放
总时间限制: 1000ms 内存限制: 65536kB
描述
将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。
输入
输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。
输出
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
样例输入
5
8 6 5 4 1
样例输出
1 4 5 6 8
#include<stdio.h>
#define N 101
int fun(int b[],int n)
{
int i;
for (i = n - 1; i >= 0; i--)
{
printf("%d ", b[i]);
}
return 0;
}
int main()
{
int i, a[N], n, j;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
fun(a, n);
return 0;
}
或
#include<stdio.h>
#define N 101
int fun(int b[],int n)
{
int i, j, k;
j = n - 1;
for (i = 0; i <n/2; i++,j--)
{
k = b[j]; b[j] = b[i]; b[i] = k; //地址内值换 //类似与冒泡法
}
for (i = 0; i < n; i++)
printf("%d ", b[i]);
return 0;
}
int main()
{
int i, a[N], n, j;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
fun(a, n);
return 0;
}
来源于(http://noi.openjudge.cn/ch0106/04/),如有侵权,请联系删除。