c语言编程:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

提示:把输入的10个整数存入数组中,10个中最小的数与数组的第一个元素对换,最大的数与数组的第10个元素对换。其他的保持不变。
⑵要求
 定义3个函数:
void input(int number[10]); /*此函数向首地址为number的数组输入10个元素*/
void max_min_value(int array[10]); /*此函数交换array数组的对应元素*/
void output(int array[10]);  /*此函数输出array数组的10个元素*/
 在main函数中调用上述3个函数,实现题目要求的功能;

请输入十个元素:
5 4 3 2 1 0 9 8 7 6
0 4 3 2 1 5 6 8 7 9
Press any key to continue

#include"stdio.h"
void input(int number[10]); //此函数向首地址为number的数组输入10个元素
void max_min_value(int array[10]); //此函数交换array数组的对应元素
void output(int array[10]); //此函数输出array数组的10个元素

void input(int number[10])
{
int i;
printf("请输入十个元素:\n");
for (i=0;i<10;i++)
{
scanf("%d",&number[i]);
}
}

void max_min_value(int array[10])
{
int i,imin,imax,tmp,bg,sm;
imin = imax = array[0];
for (i=0;i<10;i++)
{
if (imax<array[i])
{
imax = array[i];
bg=i;
}
if (imin>array[i])
{
imin = array[i];
sm = i;
}
}
//最小换第一个
tmp=array[0];
array[0]=array[sm];
array[sm]=tmp;
//最大换第十个
tmp=array[9];
array[9]=array[bg];
array[bg]=tmp;
}

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

main()
{
int number[10];
input(number);
max_min_value(number);
output(number);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答