| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1629 人关注过本帖
标题:新手入门,本人刚刚开始自学谭浩强老师的C程序设计,有问题求指点!
只看楼主 加入收藏
as36160686
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:21 
新手入门,本人刚刚开始自学谭浩强老师的C程序设计,有问题求指点!
各位大侠好,本人刚刚学习谭浩强老师的C程序设计,目前在做习题1.6(编写一个C程序,输入a,b,c 3个值,输出其中最大者)
下面是本人的源程序:
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c,d;         
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);  
printf("max=%d\n",d);
}

int max(int x,int y,int z)
{
int v;
if(x>y,x>z) v=x;
else v=y;
if(y>z,y>x) v=y;
else v=z;  
if(z>x,z>y) v=z;
else v=x;
return(v);
}

目前测试输入 1,2,3或者3,2,1都可实现功能,但是输入 1,3,2就不行了,请大侠指点,小弟下定决心想学习,网上也有其他程序写法,但是我是初级者,第一张刚刚看到这里,所以想用第一章的方法求解!?
搜索更多相关主题的帖子: max C程序设计 include return 
2013-01-20 14:20
xiaoshalong
Rank: 2
等 级:论坛游民
帖 子:20
专家分:16
注 册:2013-1-10
收藏
得分:3 
首先感谢11楼,谢谢哇,么注意.. 修改如下
把max函数修改一下
if(x>y&&x>z)
 v=x;
else if(y>x&&y>z)
v=y;
else
v=z;

[ 本帖最后由 xiaoshalong 于 2013-1-20 19:43 编辑 ]
2013-01-20 14:29
as36160686
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 2楼 xiaoshalong
3Q ~~ 马上测试!
2013-01-20 14:33
as36160686
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 2楼 xiaoshalong
int max(int x,int y,int z)
{
int v;
if(x>y&&x>z) v=x;
if(y>x&&y>z) v=y;
else v=z;  
return(v);
}
是这样吧?
杯具了~~ 
不行啊!
3,2,1识别1是最大了!
2013-01-20 14:38
冰尖上的幸福
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2013-1-18
收藏
得分:3 
我觉得你可以这样改一下你的max函数
int max(int x, int y, int z)
{
    int v;
    if(x > y && x > z)
    {
    v = x;   
    }
    else if(y > x && y > z)
    {
    v = y;
    }
    else if(z > x && z > y)
    {
    v = z;
    }
    return (v);
}
我没有在tc上试一下,你自己看看行不行嘛,
2013-01-20 14:44
as36160686
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 5楼 冰尖上的幸福
好的,谢谢你,稍后测试一下。
我用win7 运行的vc++6,有点不稳定!
2013-01-20 14:46
气蛤蟆
Rank: 1
来 自:湖北襄阳
等 级:新手上路
帖 子:19
专家分:4
注 册:2013-1-15
收藏
得分:3 
比我写的好的多
我第一天学的时候写了这样的代码现在看看我就想拿板砖板自己一下
# include "stdio.h"
 void main()
 {

 int (x,y,z,max);

 int a,b,c,d;
 
 scanf("%d,%d,%d",&a,&b,&c)
 
     d=max;
 
 printf("max is %d\n",d);

 if (x>y,y>z);
    d=x;
    else d=y;
 if (y>x,x>z);
    d=y;
    else d=x;
 if (z>x,x>y);
    d=z;
    else d=x;
    return(d);

 }

[ 本帖最后由 气蛤蟆 于 2013-1-20 18:01 编辑 ]

自用服务器卖啦,看下面的帖子有图
/thread-399533-1-1.html 你懂得!
2013-01-20 18:00
血雨萧瑟
Rank: 5Rank: 5
来 自:福州大学
等 级:职业侠客
帖 子:155
专家分:320
注 册:2012-11-19
收藏
得分:3 
一样的新人啊,当初看第一章时做这个题出一大堆毛病,后来学到if语句,再看这个题就没一点问题了,楼主你的函数有点小问题。
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c,d;         
scanf("%d%d%d",&a,&b,&c);//scanf函数中引号里面的逗号最好取掉。
d=max(a,b,c);  
printf("max=%d\n",d);
}
int max(int x,int y,int z)
{
int v;
if(x>y&&x>z)
 v=x;  
else if(y>z&&y>x)
 v=y;   
else if(z>x&&z>y)
 v=z;
return(v);
}

新手初学,可以拍砖。
游戏不是猛虎,网络在怎么发展网游都不可能消失只会越来越像一个世界。
2013-01-20 18:20
jiyicomic
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-6-28
收藏
得分:3 
#include <stdio.h>

int max(int,int,int);

int main(void)
{
    int a,b,c;
    int x;
   
    printf("从键盘输入三个整数中间用逗号分隔:");
    scanf("%d,%d,%d", &a,&b,&c);

    x = max(a,b,c);

    printf("三个整数中的最大值是:%d\n",x);

    return 0;
}

int max(int a,int b,int c)
{
    int d;

    if(a >= b && a>=c)//a大于等于b 并且 a大于等于c,
        d = a;
    else if (b >= a && b >=c)//b大于等于a 并且 b大于等于c,

        d = b;
    else
        d = c;

    return d;
}

完整的敲一遍,测试通过没问题。可以参照哦。
2013-01-20 18:49
气蛤蟆
Rank: 1
来 自:湖北襄阳
等 级:新手上路
帖 子:19
专家分:4
注 册:2013-1-15
收藏
得分:0 
网上有这个习题答案
不知道正确不正确
 main()  

  {int a,b,c,max;  

   printf(“请输入三个数a,b,c:\n”);  

   scanf(“%d,%d,%d”,&a,&b,&c);  

   max=a;  

   if(max<b)  

max=b;  

if(max<c)  

max=c;  

   printf(“最大数为:”%d”,max);  

}  


自用服务器卖啦,看下面的帖子有图
/thread-399533-1-1.html 你懂得!
2013-01-20 19:06
快速回复:新手入门,本人刚刚开始自学谭浩强老师的C程序设计,有问题求指点!
数据加载中...
 
   



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

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