输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数交换。 写三个函数:1.输入10个数;2.进行处理;3.输出10个数

/*输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数交换。
写三个函数:1.输入10个数;2.进行处理;3.输出10个数*/

#include <stdio.h>

//输入10个数 
int fun1(int *p)
{
	int i;
	
	printf("请输入10个整数:");
	
	for(i = 0;i < 10;i++)
	{
		scanf("%d",p);
		p++;
	} 
}

//交换 
int fun2(int *p)
{
	int i;
	int *min,*max,t;
	int flag1 = 0,flag2 = 0; 
	
	min = p;
	max = p;
	
	for(i = 1;i < 10;i++)
	{
		if(*(p+i) < *min)
		{
			min = (p+i);
			flag1 = 1;
		}
		if(*(p+i) > *max)
		{
			max = (p+i);
			flag2 = 2;
		}
	} 
	
	if(flag1 == 1)
	{
		t = *min;
		*min = *p;
		*p = t;
	}
	if(flag2 == 2)
	{
		t = *max;
		*max = *(p + 9);
		*(p + 9) = t;
	}
	
}

//输出10个数
int fun3(int *p)
{
	int i;
	
	printf("输出这10个整数:");
	
	for(i = 0;i < 10;i++)
	{
		printf("%d ",*p);
		p++;
	} 
 } 

int main()
{
	int a[10];
	int *p;
	p = a;
	
	fun1(p);
	fun2(p);
	fun3(p); 
 } 

谭浩强C程序设计(第四版)p291第3题

发布了87 篇原创文章 · 获赞 9 · 访问量 8572

猜你喜欢

转载自blog.csdn.net/qq_40834200/article/details/105384463
今日推荐