二级 · 程序填空:拆四位数
下面的程序把四位数 n 的千、百、十、个位分别存进 a、b、c、d。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int n = 2468, a, b, c, d;
二级 · 程序改错:% 只能用在整数上
下面程序的功能是:输出 87 是不是奇数的标记(87 % 2 的值)以及 87 的个位,结果是 1 7。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。
二级 · 选择:负数取余
在 C 语言中,表达式 -7 % 3 的值是【0】。
作品:拆开你的生日
把生日写成一个 8 位数,比如 2005 年 3 月 14 日写成 20050314。输入这个数,输出: 你生于 2005 年 3 月 14 日,幸运数字是 5 幸运数字的算法:(年 + 月 + 日) % 9 + 1。程序里月和日的算式不对
小数什么时候会丢
两边都是整数,结果也是整数;有一个是实数,结果就是实数 7 / 2 = 7.0 / 2 = 3 .5 3.5 在 C 语言里,9 / 4 的值是【0】,9 / 4.0 的值是【1】,(int)9.99 的值是【2】。
平均数里的小数去哪了
3 和 4 的平均数应该是 3.5,可下面的程序输出 3.00。先运行,看画布上两个算式的区别,再改一个字让它输出 3.50。 代码里以 @youci 开头的 printf 只负责运行后在画布上显示中间值,不影响输出和判题,不用改。
母题:平均分保留两位小数
输入三门课的成绩(整数),输出平均分,保留两位小数。例如输入 90 85 81,输出: 85.33 第 2 关里我们只能算出整数平均分,现在用实数把小数留住。
变式 1:摄氏度换华氏度
输入摄氏温度 c(实数),输出华氏温度,保留一位小数。公式:华氏 = 9/5 × 摄氏 + 32。例如输入 37,输出: 98.6 程序照着公式写了,可结果不对。 代码里以 @youci 开头的 printf 只负责运行后在画布上显示中间值
变式 2:四舍五入成整数
输入一个非负实数 x,输出它四舍五入后的整数。例如输入 2.6,输出: 3 (int)x 只会把小数砍掉。只用加法和 (int),让它变成四舍五入。
变式 3:保留两位小数,第三位四舍五入
二级常考:输入一个正实数 x,把它保留两位小数(第三位四舍五入),结果存回 x,再用 %f 输出。例如输入 3.1459,输出: 3.150000 现在的写法只会截断。用上一题的办法改成四舍五入。 代码里以 @youci 开头的 print