问题 E: C语言10.16

题目链接http://codeup.cn/problem.php?cid=100000571&pid=4

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

输入
用空格隔开的10个整数。

输出
输出进行题目描述操作之后的10个整数,每个整数之后输出一个空格。
请注意行尾输出换行。

样例输入
1 5 2 4 9 0 3 8 7 6

样例输出
0 5 2 4 6 1 3 8 7 9

代码

#include<stdio.h>

	void Print(int a[]){
		for(int i = 0; i < 10; i ++)
			scanf("%d", &a[i]);
	}

	void Deal(int a[]){
		int temp, *min, *max;
		int *p = a;
		min = p;
		max = p;
		for(int i = 1; i < 10; i++){
			if(*(p + i) > *max)
				max = p + i;
			if(*(p + i) < *min)
				min = p + i;
		}
		temp = *min;
		*min = a[0];
		a[0] = temp;
		temp = *max;
		*max = a[9];
		a[9] = temp;

	}

	void Scanf(int a[]){
		for(int i = 0; i < 10; i ++)
			printf("%d ",a[i]);
		printf("\n");
	}

	int main(){
		int a[10];
		Print(a);  //函数Print()实现数字串的输入
		Deal(a);   //函数Deal()实现交换最大、最小值
		Scanf(a);  //函数Scanf()实现字符串的输出
		return 0;
	}

发布了75 篇原创文章 · 获赞 1 · 访问量 2091

猜你喜欢

转载自blog.csdn.net/Rhao999/article/details/103872876