|
发表于 2023-11-1 18:23:53
|
显示全部楼层
0. 请问下边代码将打印多少个 'A'?
答: 10个
1. 请问下边代码会打印多少个 'B'?
答: 0个, i 初始化是0 , while先取i值后再++,不执行while语句块,如需要执行改成++i
2. 请写出表达式 a = b = c = 5 中的"l-value"?
答: c,b,a
3. 请问表达式 a = (b = 3, 4, c = b++ + 5, ++c + ++b); 执行后,整型变量 a、b、c 的值是?
答: a = b = 5, c = 9
4. 请使用条件运算符求出变量 x 的绝对值,并存放到变量 z 中。
答: z = x >= 0 ? x : -x;
5. C 语言其实在大部分情况下不使用 goto 语句也能做得很好,请尝试将下列代码段写成不带 goto 语句的版本。
答:
- A:
- if (size > 12)
- {
- cost = cost * 1.05;
- flag = 2;
- }
- if (flag == 2)
- {
- bill = cost * flag;
- }
- B:
- if (ibex > 14)
- {
- sheds = 3;
- }
- if (sheds != 3)
- {
- sheds = 2;
- }
- help = 2 * sheds;
- C:
- do
- {
- scanf("%d", &score);
- if (score < 0)
- {
- printf("count = %d\n", count);
- break;
- }
- count++;
- }
- while (score >= 0);
复制代码
动动手:
假设小甲鱼和黑夜手上均有 10000 元,小甲鱼以 10% 的单利息投资,黑夜则以每年 5% 的复合利息投资。请编写一个程序,计算需要多少年黑夜手头的 Money 才会超过小甲鱼?
答:
- #include <stdio.h>
- int main()
- {
- float xjy_money, hy_money;
- int y;
- xjy_money = hy_money = 10000;
- for (y = 0; hy_money <= xjy_money; y++)
- {
- xjy_money += 10000 * 0.1;
- hy_money += hy_money * 0.05;
- }
- printf("%d年后,黑夜的投资额超过小甲鱼!\n", y);
- printf("小甲鱼的投资额是:%.2f\n黑夜的投资额是:%.2f\n", xjy_money, hy_money);
- return 0;
- }
- 输出结果:
- [jermey@localhost sel16]$ gcc test5.c && ./a.out
- 27年后,黑夜的投资额超过小甲鱼!
- 小甲鱼的投资额是:37000.00
- 黑夜的投资额是:37334.56
复制代码
1. 都说天降横财不是什么好事儿,这不,小甲鱼中了双色球一等奖,扣除税收后还剩下 400 万人民币。假设小甲鱼把这些钱做固定投资,每年可以获得 8% 的红利,但在每年的第一天,小甲鱼都会取出 50 万作为本年度的开销……请编写一个程序,计算需要多久小甲鱼才会败光所有家产,再次回到一贫如洗?
答:
- #include <stdio.h>
- int main()
- {
- double money;
- int y;
- money = 4000000;
- for (y = 0; money > 0; y++)
- {
- money -= 500000;
- money += money * 0.08;
- }
- printf("%d年之后,小甲鱼败光家产!\n", y);
- return 0;
- }
- 输出结果:
- [jermey@localhost sel16]$ gcc test6.c && ./a.out
- 12年之后,小甲鱼败光家产!
复制代码
2. 根据以下已知公式求 Pi 的近似值,要求正确计算出小数点后前 7 位(即3.1415926)。
答:
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- double s = 1.0, i = 1.0, n = 1.0, pi = 0.0;
- while (fabs(i) >= 1e-8)
- {
- pi += i;
- n += 2;
- s = -s;
- i = s / n;
- }
- pi = pi * 4;
- printf("Pi = %.7f\n", pi);
- return 0;
- }
- 输出结果:
- [jermey@localhost sel16]$ gcc test8.c -lm && ./a.out
- Pi = 3.1415926
复制代码
3. 这是一个有趣的古典数学问题:如果说兔子在出生两个月后,就有繁殖能力,在拥有繁殖能力之后,这对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么两年之后可以繁殖多少对兔子呢?
答:
- #include <stdio.h>
- int main()
- {
- int i, months = 24, rbs = 1, new_rbs = 0, all_rbs = 1;
- for(i = 1; i <= months; i++)
- {
- if (i >= 3)
- {
- new_rbs = rbs;
- rbs = all_rbs;
- all_rbs += new_rbs;
- }
- }
- printf("2年能繁殖%d对兔子!\n", all_rbs);
- return 0;
- }
- 输出结果:
- [jermey@localhost sel16]$ gcc test9.c && ./a.out
- 2年能繁殖46368对兔子!
复制代码
|
|