当前位置: 首页 > news >正文

C技能树-判断语句

三个数从小到大排序并输出

任意输入3个整数,使用if语句对这3个整数由小到大进行升序排序。请判断下面哪一项无法实现该功能。

#include <stdio.h>

/* 交换x和y */
void swap(int* x, int* y)
{
    int temp = *x;
    *x = *y;
    *y = temp;
}

int main(int argc, char** argv)
{
    int a, b, c;
    printf("请输入 a,b,c:\n"); 
    scanf("%d,%d,%d", &a, &b, &c);

    (_____1_____)

    printf("升序排序结果:\n");
    printf("%d,%d,%d", a, b, c);

    return 0;
}

C语言if语句流程图:



答案是:B

B中如果a小于等于b,不执行任何代码块了,所以B是错误的。

两数较大值

输入两个整数,使用if-else语句求两个整数之间的较大值。以下四个选项中,请判断哪一项是错误的。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv)
{
    int num_1 = 0;
    int num_2 = 0;
    int max_num = 0;

    printf("请输入第1个整数:");
    scanf("%d", &num_1);
    printf("请输入第2个整数:");
    scanf("%d", &num_2);

    (_____1_____)

    printf("两数之间的较大值为:%d", max_num);

    return 0;
}

C语言if-else语句流程图:



答案是:D

A中abs是取绝对值,如果条件判断里相等,说明num_1-num_2不是负数,num_1大于等于num_2;
BC中直接指明了num_1是大于等于num_2的;
D中只指明num_1大于等于max_num,max_num初始值是0,假设num_1是1,num_2是2,满足D中条件,打印的max_num是1,显然是不对的。

判断三角形的类型

输入三角形各边的长度,并判断三角形的类型。请判断下列选项中,哪一项无法正确判断三角形的类型。

#include <stdio.h>
#include <math.h>

int main(int argc, char** argv)
{
    float a, b, c;

    printf("请输入三角形的三条边:");
    scanf("%f,%f,%f", &a, &b, &c);
    
    (_____1_____)

    return 0;
}

C语言else-if语句流程图:





答案是:D

D中在判断三角形是等腰三角形时,忽略了两边之和大于第三边的前提条件。
假设a=1,b=1,c=3,满足a == b || a == c || b == c,但是并不构成三角形。

成绩转换

输入成绩(百分制),将成绩转换为相应的等级,并输出。具体转换规则为:

  • 大于等于90分为等级A;
  • 小于90分且大于等于80分为等级B;
  • 小于80分且大于等于70分为等级C;
  • 小于70分且大于等于60分为等级D;
  • 小于60分为等级E。

请从以下选项中选出能使下面代码正确运行的一项。

#include<stdio.h>

int main(int argc, char** argv)
{
    int score;
    printf("请输入成绩:");
    scanf("%d", &score);
    if ((score > 100) || (score < 0))
    {
        printf("请输入百分制的成绩!");
        return 0;
    }

    int quotient = score / 10;
    (_____1_____)

    return 0;
}

C语言switch语句流程图:





答案是:C

在需要跳出的时候,在语句后面加上break;

swich(表达式)

{

  case 常量1: 语句1;break;

  case 常量2: 语句2;break;

  ...

  case 常量n:  语句n;break;

  default: 语句n+1;break;

}

相关文章:

  • 【JavaGuide面试总结】Java IO篇
  • 网络编程(2)
  • 带你走进Java8新特性Stream流的小世界
  • 07_linux中断控制
  • java多线程的使用
  • [数据库迁移]-ES集群的部署
  • 计算机相关专业混体制的解决方案(事业编之学校与医院)
  • Go语言基础入门第二章
  • 蓝桥杯2021省赛Python
  • 更方便Spring存储和读取对象,五大类注解、@Bean、@Autowired、@Resource
  • 数据挖掘,计算机网络、操作系统刷题笔记36
  • 走进 HTML
  • Kettle(8):删除组件
  • linux基本功系列之-rpm命令实战
  • java基础学习 day37 (集合)
  • CGAL 点云精配准之ICP算法
  • 主流的操作系统(带你快速了解)
  • Linux中的权限问题
  • HackTheBox Stocker API滥用,CVE-2020-24815获取用户shell,目录遍历提权
  • 【C语言航路】第十四站:文件
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读