啊哈磊_编程从这里起步

标题: 这有什么问题吗 [打印本页]

作者: laoba    时间: 2020-3-24 21:25
标题: 这有什么问题吗
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     int a,b,c;
  6.     scanf("%d%d%d",&a,&b,&c);
  7.     if(a>=b)
  8.     {if(a>=c)  printf("%d",a);
  9.     else
  10.     printf("%d",c);
  11.     }
  12.     else
  13.     {if(b>=c) printf("%d",b);
  14.     else printf("%d",c);
  15.     }
  16.     sleep(555);
  17.     return 0;
  18. }

复制代码

作者: 嘟嘟编程    时间: 2020-3-25 11:48
本帖最后由 嘟嘟编程 于 2020-3-27 11:24 编辑

你的if语句用得十分混乱,而且Sleep的“S”要大写,并要头文件#include<Windows.h>
三个数的比大小代码如下(修改后):
#include <stdio.h>
#include <stdlib.h>
#include<Windows.h>
int main()
{
    int a,b,c,t;
    scanf("%d%d%d",&a,&b,&c);
    /**********************************/
    /*   你那样写,代码不符合逻辑  */
    /* 这样写更直观些,适合初学者*/
    /*********************************/
    if(a>b)
        t=a;
    else
        t=b;
    if(t<c)
        t=c;
    printf("%d",t);
    Sleep(555);
    return 0;
}
当然还有跟简单直观的

#include <stdio.h>
#include <stdlib.h>
#include<Windows.h>
int main()
{
    int a,b,c,t;
    scanf("%d%d%d",&a,&b,&c);
    if(a>=b && a>=c) printf("%d",a);
    if(b>a && b>=c) printf("%d",b);
    if(c>a && c>b) printf("%d",c);        
    Sleep(555);
    return 0;
}
虽然这种方法简洁,但不推荐。应为如果有十个数,会十分复杂


还有更简单的:
#include <stdio.h>
#include <stdlib.h>
#include<Windows.h>
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d",(a>=b && a>=c) ?a : (b>a && b>=c)? b : (c>a && c>b) ? c);
    //C语言的简短if
    //表达式1?变量1:表达式2?变量2:……  或  表达式?变量1:变量2    //表示表达式1成立就执行变量1,表达式2成立就执行变量2
    //和表达式成立就执行变量1,否则就执行变量2
    Sleep(555);
    return 0;
}








作者: 嘟嘟编程    时间: 2020-3-27 11:21
本帖最后由 嘟嘟编程 于 2020-3-27 11:25 编辑
嘟嘟编程 发表于 2020-3-25 11:48
你的if语句用得十分混乱,而且Sleep的“S”要大写,并要头文件#include
三个数的比大小代码如下(修改后 ...

回复@也有:
不小心打错了,应该是if(t<c)t=c;
(手滑碰到了c上面的键了
不过已经改回来了





欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2