帮我看看哪出错了(C程序设计)

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:00:47
输入10个整数数组,最大的和第一个元素换 最小的和最后一个元素换

#include <stdio.h>
void input(int a[]);
void exchange(int a[]);
void output(int a[]);
void main()
{
int a[10];
intput(a);
exchange(a);
output(a);
}

void input(int a[])
{
int i;
printf("\nplease input 10 number :");
for(i=0;i<10;i++)
scanf("%d",&a[i]);

}
void exchange(int a[])
{
int*max,*min,*p,t;
max=min=a;
for(p=a+1;p<a+10;p++)
if(*p<*min)min=p;
t=a[0];a[0]=*min;*min=t;
for(p=a+1;p<a+10;p++)
if(*P>*max)max=p;
t=a[9];a[9]=*max;*max=t;
}
void output(int a[])
{
int *p;
printf("Now they are:");
for(p=a;p<a+10;p++)
printf("%d",*p);
}

#include <stdio.h>

void input(int a[]);
void exchange(int a[]);
void output(int a[]);

void main()
{
int a[10];
input(a);//原来的函数声明中多了一个t
exchange(a);
output(a);
}

void input(int a[])
{
int i;
printf("\nplease input 10 number :");
for(i=0;i<10;i++)
scanf("%d",&a[i]);

}
void exchange(int a[])
{
int*max,*min,*p,t;
max=min=a;
for(p=a+1;p<a+10;p++)
if(*p<*min)
min=p;
t=a[0];a[0]=*min;*min=t;
for(p=a+1;p<a+10;p++)
if(*p>*max)//原来的程序中这个P不一样
max=p;
t=a[9];a[9]=*max;*max=t;
}
void output(int a[])
{
int *p;
printf("Now they are:");
for(p=a;p<a+10;p++)
printf("%d,",*p);//这里最要加一个数据之间的分隔符!
}