【问题描述】依次输入一个整型数组的元素值,然后将该数组前n个元素中的值按逆序重新存放。例如,输入值的顺序为8,6,5,4,1,2,逆序存放后的顺序为2,1,4,5,6,8的顺序存放(注意是逆序存放而不是逆序输出)。
提示:
(1)定义一个数组,数组大小不超过999,为该数组前n个元素赋值。
(2)在循环中,使第0个元素与第n-1个元素交换,第1个元素与第n-2个元素交换,第2个元素与第个n-3元素交换(注意循环次数按n/2确定,n为数据个数)。
(3)输出逆序存放后的各数组元素(使用循环语句)。
【输入形式】第一行输入数组的元素个数,第二行输入依次输入元素值,用空格分开
【输出形式】逆序存放后的输入元素,用空格分开
【样例输入】
5
12 23 8 76 10
【样例输出】10 76 8 23 12
【样例说明】输入中的第一行的5表示对数组的前5个元素进行逆序存放,第二行依次为前5个元素的值;输出结果为逆序存放后数组的前n个元素值。
解答:
#include<stdio.h>
void fun(int arr[],int size);
int main()
{
int n,i;
scanf("%d",&n);
int arr[999];
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
fun(arr,n);
for(int j=0;j<n;j++)
{
printf("%d ",arr[j]);
}
return 0;
}
void fun(int arr[],int len)
{
int temp;
for(int i=0;i<(len/2);i++)
{
temp=arr[i];
arr[i]=arr[len-1-i];
arr[len-1-i]=temp;
}
}