欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

问题 E: C语言10.16——输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。

程序员文章站 2022-03-10 08:46:42
...
#include <iostream>
#include <algorithm>
using namespace std;
int a[10];
void input(){
	for(int i=0;i<10;i++){
		scanf("%d",a+i);
	}
	return;
}
void aswap(){
	int minpos=0,maxpos=0;
	for(int i=0;i<10;i++){
		if(a[i]<a[minpos]) minpos=i;
		if(a[i]>a[maxpos]) maxpos=i;
	}
	int *p0=a,*p1=a+minpos;
	swap(*p0,*p1);
	int *p2=a+9,*p3=a+maxpos;
	swap(*p2,*p3);
}
void output(){
	for(int i=0;i<10;i++){
		printf("%d",a[i]);
		if(i<9) printf(" ");
		else printf("\n");
	}
	return;
}

int main(){
	#ifdef ONLINE_JUDGE
	#else
		freopen("in.txt","r",stdin);
	#endif
	input();
	aswap();
	output();
	return 0;	
}