| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1787 人关注过本帖, 1 人收藏
标题:输出三个中最大的一个数,有问题
只看楼主 加入收藏
qingchundeji
Rank: 2
等 级:论坛游民
帖 子:31
专家分:83
注 册:2012-4-22
收藏
得分:0 
按照你那样做,就没比较y和z的大小,肯定不对了...
2012-06-21 20:41
never_yzq
Rank: 4
等 级:业余侠客
帖 子:112
专家分:213
注 册:2012-5-25
收藏
得分:2 
程序代码:
#include<stdio.h>
int max(int x[3])
{
    int i,j;
    i=x[0]>x[1]?x[0]:x[1];
    j=i>x[2]?i:x[2];
    return(j);
}
main()
{
    int a[3],b;
    for(b=0;b<=2;b++)
    scanf("%d",&a[b]);
    getchar();
    printf("最大数为%d",max(a));
}
这是我的算法思想,希望对你有帮助!
2012-06-21 21:10
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:2 
#include<stdio.h>
int main()
{
int a,b,c,d;
void f(int x,int y,int z);
printf("请输入3个数:\n");
scanf("%d %d %d",&a,&b,&c);
d=f(a,b,c);
printf("max=%d\n",d);
return 0;
}
void f(int x,int y,int z)
{
return (x>y?(x>z:x?z):(y>z:y:z));
}
2012-06-23 12:29
苏悠尘缘
Rank: 1
来 自:天津
等 级:新手上路
帖 子:5
专家分:2
注 册:2012-6-23
收藏
得分:2 
函数写的不对,还有就是形参和实参,形参的数不能改变实参的数,
#include<stdio.h>
int f(int x,int y,int z);//函数用之前要声明的
void main()
{
    int x, y, z,max;
scanf("%d %d %d",&x,&y,&z);
max=f(x,y,z);//调用函数
printf("max is %d\n",max);
}
int f(int x,int y,int z)//返回的值是max 为int型的 所以函数前为int 表示返回值的类型
{
    int a,max;
    if(x<y) a=y;else a=x;//先让a等于xy中较大的一个
    if(a<z) max=z;else max=a;//让max等于最大值
    return max;//返回max
}
2012-06-23 13:24
shenzhijian
Rank: 2
等 级:论坛游民
帖 子:21
专家分:50
注 册:2012-6-23
收藏
得分:2 
#include <stdio.h>
int Max(int a,int b);

int main(void)
{
    int a,b,c;
    int max;
   
    printf("请输入a,b,c三个数的大小\n");
    scanf("%d %d %d",&a,&b,&c);
    max = Max(Max(a,b),c);
    printf("a b c 中的最大值是: %d\n",max);
    return 0;
}

int Max(int first,int second)
{
    if(first > second)
    {
        return first;
    }
    else
    {
        return second;
    }
}
2012-06-23 19:52
shenzhijian
Rank: 2
等 级:论坛游民
帖 子:21
专家分:50
注 册:2012-6-23
收藏
得分:0 
发现大家代码不少都不规范额。。该缩紧的缩进啊~~~~
2012-06-23 19:56
星112
Rank: 5Rank: 5
来 自:山西朔州
等 级:职业侠客
威 望:2
帖 子:94
专家分:342
注 册:2012-6-22
收藏
得分:2 
楼主,你的问题基本上不大,就是感觉写代码没有思想,不知道什么时候该怎么写,没有一个整体的规划,我将你的程序的代码改变了几处顺序,你看一下:
int f(int x,int y,int z);
 main()

{
int x,y,z;
printf("input\n");
scanf("%d %d %d",&x,&y,&z);
x=f( x, y, z);
printf("max is %d",x);

}
int f(int x,int y,int z)
{

if (x<y)
   x=y;
   if(x<z)
    x=z;
    return x;
}
2012-06-24 00:20
lully6
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2012-6-7
收藏
得分:0 
加油吧!!!
2012-06-24 10:07
快速回复:输出三个中最大的一个数,有问题
数据加载中...
 
   



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

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