改错题----修改revert函数
时间: 1ms 内存:128M
描述:
修改revert函数,实现输入N个数,顺序倒置后输出
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
void revert(int num[],int);
int a[100],i,N;
scanf("%d",&N);
for(i=0; i<N; i++)
scanf("%d",&a[i]);
revert(a,N);
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}
//修改下列函数
void revert(int num[],int n)
{
int x,y;
for(x=0;x<=n/2;x++)
{
y=num[x];
num[x]=num[n-x];
num[n-x]=y;
}
}
输入:
第一行输入N(0<N<100),然后输入N个数
输出:
N个数逆序输出
示例输入:
10
1 2 3 4 5 6 7 8 9 0
示例输出:
0 9 8 7 6 5 4 3 2 1
提示:
参考答案(内存最优[920]):
#include<stdio.h>
int main()
{
void revert(int num[],int);
int a[100],i,N;
scanf("%d",&N);
for(i=0; i<N; i++)
scanf("%d",&a[i]);
revert(a,N);
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}
void revert(int num[],int n)
{
int x,y;
if(n%2!=0)
for(x=0;x<=n/2;x++)
{
y=num[x];
num[x]=num[n-1-x];
num[n-1-x]=y;
}
else
for(x=0;x<=(n-1)/2;x++)
{
y=num[x];
num[x]=num[n-1-x];
num[n-1-x]=y;
}
}
参考答案(时间最优[0]):
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
void revert(int num[],int);
int a[100],i,N;
scanf("%d",&N);
for(i=0; i<N; i++)
scanf("%d",&a[i]);
revert(a,N);
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}void revert(int num[],int n)
{
int x,y;
for(x=0;x<n/2;x++)
{
y=num[x];
num[x]=num[n-x-1];
num[n-x-1]=y;
}
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
