新手做法(无函数)以及用一个简单函数的做法(新手可以记忆一下)。
【题目描述】
将一个数组中的值按逆序重新存放。例如,原来的顺序为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<bits/stdc++.h>
using namespace std;
int a[10000];
main()
{
int n,i=1;
cin>>n;//输入数组个数。
int k=n;
while(i<=n)
{
cin>>a[i];
i++;
}
i=1;
int b=0;
while(1)//无限循环。
{
b=a[i];存储a[i]的值,因为
a[i]=a[n];// 已经将a[i]的值替换成了a[n]的值。
a[n]=b;这时我们将b储存的a[i]的原有值赋予a[n]。
n--;//将第二个,第三个,第四个以及
i++;// 倒数第二个,第三个替换……。
if(n<=i)//当倒数第n个大于正数第i个时,停止。
{
break;
}
}
i=1;
while(i<=k)
{
cout<<a[i]<<" ";//输出。
i++;
}
}