写在前面:

题解是对具体题目的编程实现,不会具体讲解C语言语法。请先大致学习好语法,自己敲敲代码后再看题解(上来就直接看题解的习惯不好哟~)。在每一题的题解之前,会列出本题涉及到的语法知识供参考,可以在教材或其他学习资源找到这些内容学习。😀


本题的预备知识:

  • 变量的定义与赋值操作
  • 输入(scanf)输出(printf)语句 
  • 条件语句(if)
  • 运算符:>、<、三目运算符等

整数比大小

成绩

5

开启时间

2020年03月15日 星期日 08:00

折扣

0.8

折扣时间

2020年03月28日 星期六 23:55

允许迟交


关闭时间

2020年03月30日 星期一 23:55

小明上了小学一年级,老师开始教他认识两个数哪个大,哪个小。计算机要学会这个可以使用 if 语句,也可以使用三目运算 ? 。

输入:两个整型数

输出:两个整型值中的最小值

 

测试输入

期待的输出

时间限制

内存限制

额外进程

测试用例 1

  1. 10 20↵
  1. min=10↵

1秒

64M

0

测试用例 2

  1. 20 10↵
  1. min=10↵

1秒

64M

0

测试用例 3

  1. -10 -20↵
  1. min=-20↵

1秒

64M

0


解法1:使用if条件语句

#include <stdio.h>  //导入stdio.h库,里面包含输入输出函数

int main() {
    int a, b;  //定义两个int(整数)型变量
    scanf("%d %d", &a, &b);  //将输入的两个整数分别存入变量a、b中
    if (a < b)//如果a比b小
        printf("min=%d\n", a); //输出
    else //否则
        printf("min=%d\n", b); //输出b

}

解法2:使用三目运算符

#include <stdio.h>
int main() {
    int a, b;  //定义两个int(整数)型变量
    scanf("%d %d", &a, &b);  //将输入的两个数存入变量a、b中
    int ans;  //用于存储最小值
    ans = a < b ? a : b;
    printf("min=%d\n", ans);   //输出ans
}

注意对这一条语句:ans = a < b ? a : b 的理解:当 a < b 条件成立时,将第一个元素(符号 ':' 前)a 赋值给ans,否则,将第二个元素(符号 ':' 后)b 赋值给ans。


总结

易错点:

  • 输入/输出变量时,要将输入格式与对应变量的格式匹配好。比如说,本题输入两个%d(整型格式),对应变量a、b也是整型的变量
  • scanf 内对应的变量应该使用取址符号 '&'
  • 根据题目输出的要求,输出结果最后要加上换行符,即\n。