[C语言]指针之交换最小值最大值:由键盘上输入10个不重复的整数,请将这些数中的最小值与第一个数交换,将最大值与最后一个数交换,然后输出交换后的数列。阅读下面程序,按要求编写函数input函数输入1

该程序使用C语言实现,接收用户输入的10个不重复整数,然后找到其中的最大值和最小值,并分别与数组的第一个元素和最后一个元素进行交换。程序包括输入、处理和输出三个函数。处理函数通过遍历数组找出最大值和最小值,然后进行交换。最后,输出交换后的数组。
摘要由CSDN通过智能技术生成

由键盘上输入10个不重复的整数,请将这些数中的最小值与第一个数交换,将最大值与最后一个数交换,然后输出交换后的数列。
阅读下面程序,按要求编写函数input函数输入10个整数,swap函数进行处理,output函数输出10个数。

#include <stdio.h>
#define N 10
void input(int *number)
{
     ///程序填空,请将该函数填写完整
}
void swap(int *number)
{
     ///程序填空,请将该函数填写完整
}
void output(int *number)
{
     ///程序填空,请将该函数填写完整
}
int main()
{
    int number[N];
    input(number);
    swap(number);
    output(number);
    return 0;
}
注意:请务必提交完整的程序代码,不要修改代码框架。

输入

输入10个不重复的整数,邻近两数之间用一个空格隔开。

输出

输出交换之后的10个整数,邻近两数之间用一个空格隔开。

输入示例1

10 7 6 3 9 8 2 5 1 4

输出示例1

1 7 6 3 9 8 2 5 4 10

输入示例2

1 2 3 4 5 6 7 8 9 10

输出示例2

1 2 3 4 5 6 7 8 9 10

输入示例3

10 9 8 7 6 5 4 3 2 1

输出示例3

1 9 8 7 6 5 4 3 2 10

数据范围

输入和输出均为int范围的整数

#include <stdio.h>
#define N 10
void input(int *number){
	for(int *p=number;p<number+10;p++){
		scanf("%d",p);
	}
}
void swap(int *number){
	int max=-10000,min=10000;
	int *mun;
	int *mux;
	for(int *p=number;p<number+10;p++){
		if(*p>max){
		    max=*p;
		    mux=p;
		}
	}
	*mux=*(number+9);
	*(number+9)=max;
	for(int *q=number;q<number+10;q++){
		if(*q<min){
		    min=*q;
		    mun=q;
		}
	}
	*mun=*number;
	*number=min;
}
void output(int *number){
	for(int *pst=number;pst<number+10;pst++){
		printf("%d ",*pst);
	}
}
int main()
{
    int number[N];
    input(number);
    swap(number);
    output(number);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值