目录
前言
大学的第一个c语言作业。
一、比较三个数大小
题目描述:
输入三个整数,然后输出最大的数。
二、解题方法
1.两个两个比较
代码如下
#include<stdio.h>
int Max(int a, int b, int c); //函数声明
int main()
{
int a = 0, b = 0, c = 0,ans=0; //初始化
scanf_s("%d %d %d", &a, &b, &c); //输入三个数
ans = Max(a, b, c); //因为函数是int 类型的函数,会返回一个整数
printf("%d", ans); //打印
return 0;
}
int Max(int a, int b, int c)
{
int max = a;
if (max < b)
max = b;
if (max < c)
max = c;
return max;
}
重点解剖一下函数部分
int Max(int a, int b, int c)
{
int max = a; // “="是赋值符号,max=a,的意思是,把a的值赋值给max。max的初值就是a
if (max < b) //比较max和b,也就是比较a和b的大小
max = b; //如果b比max大,那么就把b的值的赋给max,就是max=b了,不然max还是
等于a,这里就完成了a和b的比较,下面同理。
if (max < c)
max = c;
return max; //返回一个最大值(整数)
}
2.三个一起比较
代码如下:
#include<stdio.h>
int Max(int a, int b, int c);
int main()
{
int a = 0, b = 0, c = 0,ans=0;
scanf_s("%d %d %d", &a, &b, &c);
ans = Max(a, b, c);
printf("%d", ans);
return 0;
}
int Max(int a, int b, int c)
{
int max = c;
if (a > b && b > a)
max = a;
if (b > a && b > c)
max = b;
return max;
}
主要是函数部分不一样
int Max(int a, int b, int c)
{
int max = c;
if (a > b && b > a)
max = a;
if (b > a && b > c)
max = b;
return max;
}
解释一下&&的意思,它的叫法是“且”,和我们数学上的符号 ∧ 是一样的,就是当两个都为真命题的时候,才能为真。
那为什么不直接a>b>c呢,因为为什么计算机判断的时候,是先判断a>b的,如果a>b成立,那么他们就等于1,否则为0,因为在计算机里面,真就是1,假就0是。判断完这个后,再判断1(0)>c是否成立,这样就没有了三位数比较的意义了。
总结
作业打卡的第一天,有写得不好的地方请多指教~