鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[课后作业] S1E16:拾遗 | 课后测试题及答案

  [复制链接]
发表于 2023-10-24 20:39:49 | 显示全部楼层
56
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 09:33:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 17:05:01 | 显示全部楼层
鱼C有你更精彩^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-28 16:13:06 | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-29 10:27:58 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-29 19:37:10 | 显示全部楼层
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-30 10:56:53 | 显示全部楼层
.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-30 20:52:45 | 显示全部楼层
44
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-30 22:01:47 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-31 20:01:36 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-31 22:48:34 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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对兔子!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-2 16:40:30 | 显示全部楼层
.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-2 21:11:08 | 显示全部楼层
10个A
11个B
a,b
a=13,b=5,c=5
x>0?z=x:z=-x
5.A
if (size > 12)
{
        cost = cost * 1.05;
        flag = 2;
}   
bill = cost * flag;
B
if (ibex > 14)
{
        sheds = 3;
}
sheds = 2;
help = 2 * sheds;
C
if (score < 0)
{
         printf("count = %d\n", count);
}
count++;
scanf("%d", &score);

动动手
#include<stdio.h>

int main()
{
        int i;
        float a,b;
        i=1;
        a=10000+10000*0.1*i;
        b=10000*0.05*i+10000;
        if (a>b)
        for
        (
        i=1;
        a=10000+10000*0.1*i,
        b=b*0.05+10000;
        printtf("%d年以后,黑夜的投资额超过小甲鱼!\n\
        小甲鱼的投资额是:%.2f  \n\
        黑夜的投资额是:%.2f",i,a,b);
        return 0;
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-4 22:15:52 | 显示全部楼层
判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-5 19:11:17 | 显示全部楼层
0.100个
1.10个
2.a,b,c
3.a=15,b=5,c=9
4.x>0 ? x=x : x= -x;
5.
//A.
if (size > 12){
        cost = cost * 1.05;
        flag = 2;
}
else{
bill = cost * flag;
}
//B.
if (ibex > 14)
{
        sheds = 3;
}
else{
sheds = 2;
help = 2 * sheds;
}
//C.
do
{
readin: scanf("%d", &score);
if (score < 0)
{
        printf("count = %d\n", count);
}
count++;
while(score>0);
//动手0
#include <stdio.h>

int main()
{
        int i = 0,money = 10000;
        float rate1 = 0.1,rate2 = 0.05;
        double incomeXJY,incomeHY = money;
        
        do
        {
        incomeXJY = 0;
        i++;
        incomeXJY = money + i * (money *rate1);
        incomeHY = incomeHY * ( 1 + rate2);                

        }while( incomeHY < incomeXJY);
        
        printf("%d年后,黑夜的投资额超过小甲鱼!\n\
        小甲鱼的投资额是:%.2f\n\
        黑夜的投资额是:%.2f",i,incomeXJY,incomeHY);
        
        return 0;
}
//动手1
#include <stdio.h>

int main()
{
        int total_assets,outcome = 500000, principal = 4000000, i = 0;
        float rate = 0.08;

        total_assets = principal;
        
        do
        {
        i++;
        
        total_assets *=( 1 + rate);
        total_assets -= outcome;
        
        }while( total_assets > 0);
        
        printf("%d年后,小甲鱼一贫如洗!",i);
        
        return 0;
}
//动手3
#include <stdio.h>

int main()
{
        int num,sum;

        for( num = 0; num <= 22; num += 2)
        {
                sum = sum + (24 - num);
        }
        printf("如果现在有一对新生的兔子,两年之后可以繁殖%d对兔子。\n",sum);
        for( sum = 0, num = -2; num <= 22; num += 2)
        {
                sum = sum + (24 - num);
        }
        printf("如果现在有一对成熟的兔子,两年之后可以繁殖%d对兔子。",sum);
        
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-6 18:41:16 | 显示全部楼层
a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-6 20:16:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-6 20:40:56 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-7 16:25:35 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 10:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表