3100 - 【设计型】第9章: 指针 9.16 反向排序

通过次数

0

提交次数

0

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

从键盘上输入10个整数存放到一维数组中,用函数实现将10个整数按输入时的顺序逆序排列,函数中对数据的处理要用指针方法实现。

题目输入

一行十个数字中间用空格

题目输出

一行数字,十个,中间用空格隔开

输入/输出样例

输入格式

1 2 3 4 5 6 7 8 9 0

输出格式

0 9 8 7 6 5 4 3 2 1

C语言解答

#include <stdio.h>
void fun(int *pa,int t);
int main()
{
	int a[10],i;
	for(i=0;i<10;i++)
		scanf("%d",&a[i]);
	fun(a,10);
	return 0;
}
void fun(int *pa,int t)
{
	int i;
	for(i=t-1;i>=0;i--)
	{
		printf("%d",pa[i]);
		if(i!=0)	printf(" ");
	} 
		
}

C++解答

#include<bits/stdc++.h>
using namespace std;

void swap(int *a, int *b){//指针参数 
	int t = *a;
	*a = *b;
	*b = t;
}
int main()
{
    int *a = new int[10];
    for(int *p = a; p<&a[10]; p++){
    	cin>>*p;
	}
	int *p = a, *q = &a[9];
	while(p<q){
		swap(p,q);
		p++;
		q--;
	} 
	for(int *p = a; p<&a[10]; p++){
    	cout<< *p <<" ";
	}
	delete []a;
	return 0;
}