标题:输入三个数由小到大输出 用指针实现 (帮帮我看看 我的程序哪出问题了)
只看楼主
甁瓶里D罐罐
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2010-1-21
结帖率:100%
 问题点数:0 回复次数:2 
输入三个数由小到大输出 用指针实现 (帮帮我看看 我的程序哪出问题了)
#include"stdio.h"
int main()
{
    int pai(int *a,int *b,int *c);
    int n1,n2,n3;
    int *a,*b,*c;
    printf("please input three number:\n");
    scanf("%d,%d,%d",&n1,&n2,&n3);
    a=&n1;
    b=&n2;
    c=&n3;
    pai(*a,*b,*c);
}
int pai(int *a,int *b,int *c)
{
    int team;
    if(*a>*b)
    {
        team=*a;
        *a=*b;
        *b=team;
    }
    if (*a>*c)
    {
        team=*a;
        *a=*c;
        *c=team;
    }
    if(*b>*c)
    {
        team=*b;
        *b=*c;
        *c=team;
    }
    printf("%d,%d,%d",*a,*b,*c);
}

[ 本帖最后由 甁瓶里D罐罐 于 2010-5-17 19:39 编辑 ]
搜索更多相关主题的帖子: include please number 
2010-05-17 19:15
dylanzhang
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2010-5-17
得分:0 
//输入三个数由小到大输出 用指针实现
#include"stdio.h"
void pai(int *a,int *b,int *c);
void main()
{
    int n1,n2,n3;
    printf("please input three number:(, , ,)\n");
    scanf("%d,%d,%d",&n1,&n2,&n3);
    pai(&n1,&n2,&n3);
    printf("%d,%d,%d\n",n1,n2,n3);
}
void pai(int *a,int *b,int *c)
{
    int team;
    if(*a>*b)
    {
        team=*a;
        *a=*b;
        *b=team;
    }
    if (*a>*c)
    {
        team=*a;
        *a=*c;
        *c=team;
    }
    if(*b>*c)
    {
        team=*b;
        *b=*c;
        *c=team;
    }
}
2010-05-17 20:04
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
得分:0 
楼主的错误,都是一些传值类型的问题。
按照你的代码,做以下修改:

void pai(int *a,int *b,int *c)  //如果定义为int,必须return 一个值
{
    int team;
    if(*a>*b)
    {
        team=*a;
        *a=*b;
        *b=team;
    }
    if (*a>*c)
    {
        team=*a;
        *a=*c;
        *c=team;
    }
    if(*b>*c)
    {
        team=*b;
        *b=*c;
        *c=team;
    }
    printf("%d,%d,%d",*a,*b,*c);
}


int main(int argc, char* argv[])
{
    int n1,n2,n3;
    int *a,*b,*c;
    printf("please input three number:\n"); //建议此处最好给用户提示更详细点,防止输错。比如提示用户分隔符之类的
    scanf("%d,%d,%d",&n1,&n2,&n3);  //建议增加出错处理会更好
    a=&n1;
    b=&n2;
    c=&n3;
    pai(a,b,c); //函数参数类型要匹配。
                 //不知道你是否测试值传递还是其它什么来着,因此此处不止一种写法,pai(&n1,&n2,&n3);也行

    return 0;  //函数定义返回值为int,必须返回值
}

[ 本帖最后由 幽园香客 于 2010-5-17 21:02 编辑 ]

做个有用的人!
2010-05-17 20:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307062-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.155846 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved