整除与取余
(2021-09-10 22:12:38)| 分类: 信息学 |
一、整除 /
与圆相关的计算(Open judge
1.3.9)
在计算机中整除的运算是运算结果只保留商。
例如15/4的值是3
14/2的值是7
22/32的值是____________?
输出样例:304
二、取余%
取余运算也称为“模运算”。
15/4可以表示为15-(15/4)*4=3
取余运算可以表示为a%b=a-(a/b)*b.
x%2表示x除以2的余数,余数可能的取值为1或0,余数为0表示x可以被2整除,即x为偶数,余数为1表示x除以2余1,即x为奇数。同样,x%5可能的取值为0,1,2,3,4.由此,可以推断x%y的可能取值有y种结果,即0,1,2,3……y-1,换一个方式理解x%y,通过模y的取值,将x可能的取值分成了y类,即模余数为0的一类,模y余数为1的一类……模y余数为y-1的一类……
通过模2的结果为1或0,判断该数的奇偶性,;通过模y的结果是否为零,判断该数是否能被y整除。
实践练习:反向输出一个三位数。(在openj
提交答案)
拓展练习:输入一个四位数,将这个数各位数字倒序合成一个新数,输出原数字和新数字的差。例如输入4321,输出3087.
三、两个数的交换
前面学习中我们已经实现了两个数的交换——复习
借助第三个变量temp(临时变量-第三个容器)
当然和实际生活中老师举例的“雪碧”“可乐”互换还是有一定区别的,区别在在哪里?你知道吗?
练习:三位数转化。
问题描述:输入一个三位数,交换百位和各位上的数字,并输出新的三位数。输入数据保证个位上的数字不为0.
输入格式:一行一个三位数。
输出格式:一行一个新的三位数。
输入样例:403
(方法不唯一)
四、格式化输入/输出
遇到的保留小数位数的问题,在题目中涉及小数时,往往要求保留小数点后面2位、4位等,cout输出语句无法满足,这时需要需要格式化的输入、输出语句。
格式化输出函数:
printf(“格式控制字符串”,输出列表)
格式控制字符串用于指定输出格式,如,语句“int
a=3;printf("ans=%d",a);"
运行结果为ans=3.
printf语句中%d称为格式控制符,决定了最后输出的数据类型和格式。常用的数据类型对应的格式控制符:int类型为%d,
long long 类型为%lld ,float类型为%f ,
double类型为”%lf"
输出列表中数据的输出格式为:
%[宽度][.精度][数据类型控制符]
[宽度] 可根据题目要求为该数据提前占位,通常成为场宽,如果省略不写,默认为数据实际宽度。
[.精度]
表示涉及浮点数时,小数点后面保留的位数,例如a(float 类型),输出语句printf("%.3f",a)
表示将变量a输出时保留小数点后面3位。
格式化输入函数:
scanf("格式控制字符串",变量地址列表);
变量地址表示在变量前面加取地址符&,涉及多个变量时,用逗号隔开,而格式控制按照变量的顺序匹配对应的数据类型控制符,例如,在程序中设置三个变量,int类型变量a,double类型变量b,long
long 类型变量c,则输入语句是
scanf("%d%lf%lld",&a,&b,&c);
需要强调,使用scanf语句和printf语句时,要添加头文件#include
如果使用万能头文件#include,则无需添加。
练习
拓展练习:
计算多项式的值(Open judge
1.3.7)
计算三角形面积(Open judge
1.3.17)
课后作业
1、带余除法(Open judge
1.3.4)
2、计算线段的长度(Open judge 1.3.16)
3、甲流疫情死亡率(Open judge 1.3.6)
4、温度表达转换(Open judge 1.3.8)
5、计算球的体积(Open judge 1.3.12)

加载中…