改错题----修改revert函数

改错题----修改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;
	}
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注