输入10个整数,将其中最小的数与第1个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。
输入:
15 2 3 4 5 6 7 8 9 10
输出
2 10 3 4 5 6 7 8 9 15
#include<stdio.h>
void shuru();
void chuli();
int main()
{
int a[10],i,j;
shuru(a);
chuli(a);
for(i=0;i<=9;i++)
{
printf("%d ",a[i]);
}
return 0;
}
void shuru(int b[10])
{
int j;
for(j=0;j<=9;j++)
{
scanf("%d",&b[j]);
}
return;
}
void chuli(int b[10])
{
int i,j,k,max,min,w,m,x;
for(i=0;i<=9;i++)
{
min=b[0];
max=b[0];
if(b[i]<min)
{
min=b[i];
k=i;
}
if(b[i]>max)
{
max=b[i];
w=i;
}
}
j=b[0];
b[0]=min;
b[k]=j;
x=b[9];
b[9]=max;
b[w]=x;
return;
}
修改如下,供参考:
#include<stdio.h>
void shuru(int *b,int n);//修改
void chuli(int *b,int n);
void shuchu(int *b,int n);
int main()
{
int a[10]; //,i,j;
shuru(a , 10);
chuli(a , 10);
shuchu(a, 10);
return 0;
}
void shuru(int *b,int n)
{
int j;
for(j=0;j < n;j++)
scanf("%d",&b[j]);
return;
}
void chuli(int *b,int n)
{
int i,t,max,min;
min=0; max=0;
for(i=1;i < n;i++)
if(b[i]<b[min])
min = i;
t=b[0]; b[0]=b[min]; b[min]=t;
for(i=1;i < n;i++)
if(b[i]>b[max])
max = i;
t=b[n-1]; b[n-1]=b[max]; b[max]=t;
return;
}
void shuchu(int *b,int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",b[i]);
return;
}