#include "stdio.h"
int i;
int main()
{
void input(int d[10]);
void change(int b[10]);
void output(int c[10]);
int d[10];
input(d);
change(d);
output(d);
return 0;
}
void input(int d[10])
{
for(i=0;i<10;i++)
scanf("%d",&d[i]);
}
void change(int b[10])
{
int temp,m=b[0],n=b[0],s,t;
for(i=0;i<10;i++)
{
if(m>b[i+1])
{
m=b[i+1];
s=i+1;
}
if(n<b[i+1])
{
n=b[i+1];
t=i+1;
}
}
temp=b[0];
b[0]=b[s];
b[s]=temp;
temp=b[9];
b[9]=b[t];
b[t]=temp;
}
void output(int c[10])
{
for(i=0;i<10;i++)
printf("%d",c[i]);
}
请问错哪了?
#include "stdio.h"
int i;
int main()
{
void input(int d[10]);
void change(int b[10]);
void output(int c[10]);
int d[10];
input(d);
change(d);
output(d);
return 0;
}
void input(int d[10])
{
for(i=0;i<10;i++)
scanf("%d",&d[i]);
}
void change(int b[10])
{
int temp,min=b[0],max=b[0],s,t;//这里定义为min和max好区分
for(i=0;i<10;i++)
{
if(min>=b[i]) //因为你已经定义第一个元素给他了就用不着再+1了,你+1后反而会溢出
{
min=b[i];
s=i;
}
if(max<=b[i])
{
max=b[i];
t=i;
}
}
temp=b[0];
b[0]=b[s];
b[s]=temp;
temp=b[9];
b[9]=b[t];
b[t]=temp;
}
void output(int c[10])
{
for(i=0;i<10;i++)
printf("%3d",c[i]);
printf("\n");
}