用指针数组排序

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

#include<stdio.h>
int main()
{
	int number[10];
	void input(int array[10]); 			//函数定义
	void change(int array[10]);
	void output(int array[10]);
	input(number);					//函数调用
	change(number);
	output(number);
	return 0;
}
 
void inout(int array[10])				//输入10个数
{
	int *p;
	printf("input 10 numbers:\n");
	for(p=array;p<array=10;p++)
	scanf("%d",&*p);
}
void output(int array[10])			//按顺序输出10个数
{
	int *p;
	printf("now:\n");
	for(p=array;p<array+10;p++)
	printf("%d",*p);
	putchar('\n');
}


void change(int array[10])			//对10个数进行换位
{
	int *max,*min,*p;
	min=max=array;				//将数组的第一个元素赋给min,max
	for(p=array+1;p<array+10;p++)	//用for循环找出数组中最大的元素和最小的元素
	{
		if(*max<*p)
		max=p;
		else if(*min>*p)
		min=p;
	}
	*p=array[9];					//将最大的元素赋给p所指向的地址,并将最大值与最后一个元素进行调换
	array[9]=*max;
	*max=*p;
	*p=array[0];					//同上,将最小值与第一个元素进行调换
	array[0]=*min;
	*min=*p;
	return ;
}


在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值