1257 - C语言10.27

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

将n个整数按输入时的顺序逆序排列,用函数实现。

题目输入

第一行有一个整数n,表示下一行有多少个整数,保证n不超过1000。第二行有n个用空格隔开的整数。

题目输出

输出按逆序排列的n个整数,每个整数后输出一个空格。

请注意行尾输出换行。

输入/输出样例

输入格式

5
1 2 3 5 8

输出格式

8 5 3 2 1 

C语言解答

#include<stdio.h>
int ret(int a[],int n)
{
    int i;
    int t;
    for(i=0;i<(n/2);i++)
    {
        t=a[n-i-1];
        a[n-i-1]=a[i];
        a[i]=t;
    }
    return n;
};
int main()
{
    int ret(int a[],int n);
    int m,b[1000],i;
    scanf("%d",&m);
    for(i=0;i<m;i++)
        scanf("%d",&b[i]);
    ret(b,m);
    for(i=0;i<m;i++)
        printf("%d ",b[i]);
    printf("\n");
    return 0;
}



C++解答

#include <stdio.h>
int main() {
	void reverse(int array[], int n);
	int n, i, array[1000];
	scanf("%d", &n);
	for (i = 0;i < n;i++)
		scanf("%d", &array[i]);
	reverse(array, n);
	for (i = 0;i < n;i++)
		printf("%d ", array[i]);
	printf("\n");
	return 0;
}
/* 反转数组的函数 */
void reverse(int array[], int n) {
	int i, temp;
	for (i = 0;i + i < n;i++) {
		temp = array[i];
		array[i] = array[n - 1 - i];
		array[n - 1 - i] = temp;
	}
}

Java解答

import java.util.*;

public class Main{
	public static void main (String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int []a=new int[n];
		for(int i=0;i<n;i++)
			a[i]=in.nextInt();
		for(int j=n-1;j>=0;j--)
			System.out.print (a[j]+" ");
		System.out.println ();
	}
}