将数组中的数逆序存放
题目描述
本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
4
10 8 1 2
输出样例:
2 1 8 10
题目解析
可能很多人并没有改变数组而是通过输出时的倒序输出来通过的,虽然测试点并不能测试出来,但是总的来说还是不对的,其实只用一个循环我们就可以达到倒序输出,即对应的第一项与最后一项,第二项和倒数第二项,一次下去即可
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,s[n];
for(i=0;i<n;i++)
scanf("%d",&s[i]);
int lim;
for(i=0;i<=(n-1)/2;i++) /*通过一对一对的数倒序最终实现数组倒序*/
{
lim=s[i];
s[i]=s[n-1-i];
s[n-1-i]=lim;
}
printf("%d",s[0]);
for(i=1;i<n;i++) /*注意:行末不得有多余的空格*/
printf(" %d",s[i]);
return 0;
}