参考代码:
#include<stdio.h>
void inpnum(int *a); //输入十个数
void pronum(int *a);//处理这十个数
void outnum(int *a);//输出这十个数
void main()
{
int a[10]; //定义一个数组
inpnum(a); //输入十个整数
pronum(a);//处理这十个数
outnum(a);//输出这十个数
}
void inpnum(int *a) //输入十个整数
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",a+i);//输入十个整数
}
}
void pronum(int *a)//处理这十个数:将其中最小的数与第一个数对换,
{ //把最大的数与最后一个数对换。
int i,j,k,t,max,min;
j=k=0; //j,k分别用来标记最大的数和最小的数的位置
max=min=*a;
for(i=0;i<10;i++)
{
if(*(a+i)>max)
{
max=*(a+i);
j=i; //找出最大数的位置
}
if(*(a+i)<min)
{
min=*(a+i);
k=i; //找出最小数的位置
}
}
t=*(a+9); //将最大的数与最后一个数对换
*(a+9)=max;
*(a+j)=t;
t=*a; //将最小的数与第一个数对换
*a=min;
*(a+k)=t;
}
void outnum(int *a)//输出这十个数
{
int i;
for(i=0;i<10;i++)
{
printf("%d ",*(a+i));
}
printf("\n");
}
0.0分
1 人评分