回 帖 发 新 帖 刷新版面

主题:请大大门看看我的小白程序为什么输出一直是一个恒值(比较3个位数的大小)才开始学C

#include"stdio.h"
main()
{
  int max(int x,int y,int z);
  int a,b,c,d;
  printf("please input three number: \n");
  scanf("%d%d%d",&a,&b,&c);
  d=max(a,b,c);
  printf("max=%d",d);
}
  int max(int x,int y,int z)
  {
          int j;
    if(x>y)
    if(x>z)
       { j=x;
      return(j); }
    else j=z;
   return(j);
     if (y>z)
      {j=y;
   return(j); }
     else j=z;
  return(j);



  }
[em53][em21][em21][em21][em21]

回复列表 (共10个回复)

沙发

都没人来吗、、、、、TT

板凳

你先看一下我的编写的,#include "stdio.h"
main()
{ int a[3],max,i;
    for(i=0;i<3;i++)
    scanf("%d",&a[i]);
   max=a[0];/* 假设最大值为a[0]*/
   for(i=1;i<3;i++)/* 进行穷举*/
     {
          if(a[i]>max)
          max=a[i];
     }
   printf(" the max is :%d",max);
  }  

再就是你的了主要在max函数的编写时,逻辑与语法混乱了,恩,就不给你分析了,哈,

3 楼

你的程序我稍微改了下,测试了,结果还可以
程序的语言还是最好要简洁点,容易看懂些
#include"stdio.h"
main()
{
  int max(int x,int y,int z);
  int a,b,c,d;
  printf("please input three number: \n");
  scanf("%d%d%d",&a,&b,&c);
  d=max(a,b,c);
  printf("max=%d",d);
}
  int max(int x,int y,int z)
{
int j;
if(x>y) {if(x>z) j=x; else j=z;}
if (y>z) j=y;
   else j=z;
  return(j);}

大神们看到了别喷啊,我也是新手

4 楼


你的代码也有点问题:当输入数据过大时就不准了。比如说333333333和4444和5比较输出结果是max=4444。。。不过还是谢谢了,,共同努力吧!我把我刚才的程序改了下。。
 #include"stdio.h"
main()
{
  int max(int x,int y,int z);
  int a,b,c,d;
  printf("please input three number: \n");
  scanf("%d%d%d",&a,&b,&c);
  d=max(a,b,c);
  printf("max=%d",d);
}
  int max(int x,int y,int z)
  {
 int j;
 if(x>y&&x>z)
 {   j=x;
   return(j);}
 else if(y>x&&x>z)
 { j=y;
 return(j);}
 else
  j=z;
  return(j);
  }

5 楼

那个是数据类型决定的,你的那个数超过了范围,溢出了……改成long型试下……

6 楼

int型的数据范围只能是-32768和+32767之间
long型的数据范围是-2147483648和+2147483647.

你的程序里面只要在最后有一个return就可以了,反正最后都是赋值给了j的。
程序里面没有考虑报错的情况,这个你以后要注意。还有,试着用“?:”这个语句改下,会很简洁

7 楼

我今天才学的C   ?:还不会用。。谢谢你的解释虽然不怎么懂

8 楼

简单来说,lz在输出结果之前输出一下abc就知道超界后那个一堆3被截成多少了,也就容易理解为什么会有那样的结果了。
另外,int只有在tc这样的老编译器里才是-32768~32767,在VC和以后版本,以及其他常用编译环境里,一般来说int和long是等价的……

9 楼

谢了。。这里面高手真多。以后常来了[em11]

10 楼

上海世博园内许多建筑外墙采用镜面设计,通过镜面观察园内的游人和风景,别有一番情趣。 5月4日是世博园开园后的首个非指定日,从澳门馆外墙映衬的中国馆外游客影像来看,并没有出现预料中的大客流。
您正在看的文章转载雪影网络:[url=http://www.fjfairh.cn]http://www.fjfairh.cn[/url]
原文地址:[url=http://www.fjfairh.cn/news/201055/36.html]http://www.fjfairh.cn/news/201055/36.html[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册