| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3331 人关注过本帖
标题:新学C,给4个数,输出其中最大的,请各路大虾给讲解。
只看楼主 加入收藏
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
得分:0 
我也是新学的
我也是新学的,试着用学过的知识写了一个,经测试,只对四位以下数有效,我想问题应该出现在字符的类型定义方面。请各位指点迷津,不胜感激。


include<stdio.h>
int main( )
{
   int a,b,c,d,t;
   printf("输入四个数字:");
   scanf("%d %d %d %d",&a,&b,&c,&d);
  if(a<b)
    {
       t=a;
       a=b;
       b=t;
     }
    if(a<c)
    {
      t=a;
      a=c;
      c=t;
     }
    if(a<d);
    {
      t=a;
      a=b;
      b=c;
    }
   printf("最大的数是:%d",a);
}
2008-01-11 18:23
yxwsbobo
Rank: 5Rank: 5
等 级:职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
收藏
得分:0 
ls 你要明白int得取值范围

to  StarWing83
分治和循环都比较了3次得到最大 有区别么

How are you 怎么是你?
How old are you   怎么老是你?
2008-01-11 19:10
厦门土匪
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2008-1-9
收藏
得分:0 
int换成long int问题可得到部分缓解.
2008-01-15 22:12
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
21#的int只到32768好象是的如果在多就变负数了,所以会失效了
2008-01-15 22:29
厦门土匪
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2008-1-9
收藏
得分:0 
0111111111111111注意这个(内存),如果在加个1上去就变成1000000000000000,实际上他的值是0了,如果你的变量是带符号的话.
2008-01-16 00:17
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
原帖由 [bold][underline]sunkaidong[/underline][/bold] 于 2008-1-15 22:29 发表 [url=http://bbs.][/url]
21#的int只到32768好象是的如果在多就变负数了,所以会失效了

请注意编译器的位数
如果用32bits 的(如GCC) int的范围可以到2^31
用16bits的(如TC) int范围到2^15
如果用64bits编译器编译,范围可以到2^63

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-01-16 12:29
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include <stdio.h>

int main(void)
{
    int temp, max, k;

    if((k = scanf("%d", &temp) == 1)
        max = k;
    while(k == 1)
    {
        k = scanf("%d", &temp);
        max = temp > max ? temp : max;
    }
    printf("\n Max = %d\n", max);

    return 0;
}

—>〉Sun〈<—
2008-01-17 01:34
liang53770
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-10-24
收藏
得分:0 
晕。。。
编程都是靠自己体会。。
代码是死的。。
算法是活的。。。。
2008-01-17 18:04
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
原帖由 [bold][underline]StarWing83[/underline][/bold] 于 2008-1-11 16:14 发表 [url=http://bbs.bccn.net/redirect.php?goto=findpost&pid=1178254&ptid=196646][/url]
循环效率是O(n),10楼分治求最大,效率可以提升到O(logn)呢……

求最大数不可能有优于O(n)的算法
2008-01-17 18:33
快速回复:新学C,给4个数,输出其中最大的,请各路大虾给讲解。
数据加载中...
 
   



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

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