注册 登录
编程论坛 C++教室

为什么运行不了啊

啦啦啦VL 发布于 2014-06-11 21:02, 472 次点击
输入10个整数,将其中最大数于最后一个数交换,最小数于第一个数交换。
#include<stdio.h>
int main()
{
    void input(int *a);
    void sort(int *a);
    void output(int *a);
    int a[10];
    input(a);
    sort(a);
    output(a);
}
void input(int *a)
{
    int i;
    for(i=0;i<=9;i++)
        scanf("%d",a);
}
void sort(int *a)
{
    int max,min;
    int *p1;
    int *p2;
    int m,n,i;
    max=*a;
    min=*a;
    for(i=0;i<=9;i++)
    {
        if(*(a+i)>max)
        {
            max=*(a+i);
            p1=(a+i);
        }
        if(*(a+i)<min)
        {
            min=*(a+i);
            p2=(a+i);
        }
    }
    m=*p1;
    n=*p2;
    p1=a+9;
    p2=a;
    *(a+9)=m;
    *a=n;
    }
void output(int *a)
    {
        int i;
        for(i=0;i<=9;i++)
            printf("%d\t",*a+i);
    }
5 回复
#2
啦啦啦VL2014-06-11 22:40
D大神快来啊!!!
#3
wp2319572014-06-12 09:08
p2 没有初始化
#4
律吕调阳2014-06-12 09:24
void input(int *a)
{
    int i;
    for(i=0;i<=9;i++)
        scanf("%d",&a[i]);
}
#5
律吕调阳2014-06-12 09:26
void output(int *a)
    {
        int i;
        for(i=0;i<=9;i++)
            printf("%d\t",*a+i);    ->  printf("%d\n",*(a+i));
    }
#6
律吕调阳2014-06-12 09:42
还有  
max = *a;
min = *a;
----->
min = a[0];
max = a[9];

main中少了return 0;
1