永发信息网

检查一个C程序,解释一个C程序

答案:2  悬赏:50  手机版
解决时间 2021-05-10 18:39

检查:输入a、b、c3个值,输出其中最大者。

         解:#include<stdio.h>

                void main()

              {

                 int max(int x,int y,int z);

                 int a,b,c;

                 scanf("max=%d,%d,%d,&a,&b,&c);

                 e=max(a,b,,c);

                 printf("max=%d\n",e);

                }

                  int max(int x,int y,int z)

                {

                  int h;        (此处h可与第一行中文件名h相同吗)

                  if(x>y);

                  h=x;

                  else h=y;

                  else h=z;

                  return(h);

                  }

解释::#include<stdio.h>

              void main()

             {int a,b,c,max;

                printf("please input a,b,c:\n");

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

                max=a;

                if(max<b)

                  max=b;

                if(max<c)

                  max=c;

                printf("The largest number is %d",max);

               }

最佳答案

首先这两个程序的目的都是一样,为了比较3个数a、b、c,并得出最大的数,只不过第一个程序把比较的过程封装成函数,然后再main中调用了。


你要求检查的程序:


int a,b,c;


这里少定义一个变量e。


--------------------------------------------


scanf("max=%d,%d,%d,&a,&b,&c);


这里双引号丢了,而且应改为


printf("请输入要比较的3个数");


scanf("%d,%d,%d",&a,&b,&c);


我认为更好点。


--------------------------------------------


e=max(a,b,,c);


这里b后多了个逗号~


--------------------------------------------


int h;


这里的h是变量,而开头的#include<stdio.h>里stdio.h是头文件,c语言里大部分函数并不是自带的,它们都被包含在头文件里(头文件的扩展名为.h),例如:printf、scanf两个函数就被包含在stdio.h的头文件里。


--------------------------------------------


if(x>y);


h=x;


else h=y;


else h=z;


这循环错了,if语句的格式为“  if(条件)语句;  ”,分号不可乱加,循环应改为


if(x>y) h=x;
else h=y;
if(z>h)h=z;


----------------------------------------------


我把正确的程序写在下面(已经在VS2008上运行成功):


#include<stdio.h>


void main()


{


   int max(int x,int y,int z);


   int a,b,c,e;
   printf("请输入需要比较的三个数:");
   scanf("%d,%d,%d",&a,&b,&c);


   e=max(a,b,c);


   printf("max=%d\n",e);


}


int max(int x,int y,int z)


{


   int h;


   if(x>y) h=x;
   else h=y;
   if(z>h)h=z;


   return(h);


}




你要求解释的程序:


#include<stdio.h>


void main()


{int a,b,c,max;    //定义需比较的变量a、b、c,以及最大值max


    printf("please input a,b,c:\n");    //在控制台输出please input a,b,c: ,并换行(\n)


    scanf(“%d,%d,%d",&a,&b,&c);    //通过scanf函数为a,b,c赋初值


    max=a;    //先假设a为最大值,并赋给max


    if(max<b)    //比较max和b的大小,如果max大则不变,如果b大则把b赋给max


    max=b;


    if(max<c)    //比较max和c的大小,如果max大则不变,如果c大则把b赋给max


    max=c;


    printf("The largest number is %d",max);    //输出最大值max


}




希望对你又帮助,O(∩_∩)O~

全部回答

一、函数体里面不能定义其它函数,main函数怎么说也是一个函数,   int max(int x,int y,int z); 你要把这一行放到void main的上边去

二、   max=a;

    if(max<b)

    max=b;

    if(max<c)

    max=c;

先假设a为最大值,再拿最大值分别和b、c判断,如果最大值比他们小则令他们为最大值

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黄钻几级才能使空间里的所有装扮免费?
奶粉超市这个地址在什么地方,我要处理点事
如何更改局域网内个人电脑的网卡实际地址(MA
戴尔Inspiron·530s 机器问题
到底该怎么选择
现在社会都紧缺哪方面哪行业的人才?
做个康字的小字 和我发的图发的图背景颜色字
掉头发怎么办?有什么方法吗
那个星座美?
7夕.....快到了....一个人.....要怎么要才不
最近有那些好电影
“红豆结相思”是什么意思?
飞车音乐都有哪些?
烟台那里卖香港杂志画报
为什么我变成了奥特曼不能飞,也不能发激光
推荐资讯
为什么生完宝宝以后经常感冒?
男的应该送生日礼物?推荐一下。。。
怎么速度拉黑好友
教师节给一年级的老师买什么礼物
是剑魂的进
csol与cf的区别是什么
女生常喜欢说的话是什么
本人缴费工资是什么,社保中本期缴费工资是什
谁现在能帮我登下自由幻想?
DNF中刺客的绝杀斩要连击的话怎么练?
怎么办分居
佛山石湾有什么职校
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?