关于#chanshu#的问题,如何解决?(语言-c语言)

输入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;
}