鱼C论坛

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

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

  [复制链接]
发表于 2021-4-15 16:30:14 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-15 18:01:14 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-15 18:51:01 | 显示全部楼层
回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-15 21:43:04 | 显示全部楼层
0.10
1.
2.a,b,c
3
14,3,9
4.
x > -x ? x : -x
5.
A
if (size > 12)
        {      
                cost = cost * 1.05;
                flag = 2;
        }      
        bill = cost * flag;
        return 0;
B
if (ibox > 14)
{
     sheds = 3;
}
sheds = 2;
help = 2 * sheds;
C
readin: scanf("%d", &score);
if (score < 0)
{
        printf("count = %d\n", count);
}
count++;
readin;
0.
//s1e16/test6.c
#include <stdio.h>
int main()
{
        float a,b,c;
        a = 10000;
        b = 10000;
        c = 10000;
        int y = 1;


        while(y++)
        {
                if (c <= b)
                {
                      b = b + 1000 * y;
                      c = c * 0.05 + c;
                }

                else
                {
                      printf("%d年后,黑夜超过甲鱼\n",y);
                      printf("甲鱼的投资额是:%.2f\n",b);
                      printf("黑夜的投资额是:%.2f\n",c);
                      break;
                }
        }

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

使用道具 举报

发表于 2021-4-16 18:22:16 | 显示全部楼层
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-17 15:02:15 | 显示全部楼层
10
11
a
c=10,b=4,a=14
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-17 16:47:39 | 显示全部楼层
0. 10
1. 11
2. a b c
3. 14 5 9
4. z = (x>=0? x : -x)
5.
A. int main()
{
        if (size > 12)
{
    cost = cost * 1.05;
    flag = 2;
}
bill = cost * flag;
       
    return 0;
}
B.
if (ibex>14){
    sheds = 3;
}
sheds = 2;
help = 2* sheds;
C.
do {
    scanf("%d", &score);
    if (score < 0)
    {
            printf("count = %d\n",count);
    }
    count++;
} while (1);
这个我不确定诶,带标签的第一次执行吗还是直接跳过

动动手:
0.
#include <stdio.h>
#include <math.h>
int main()
{
        float m = 10000.0;
        float n = 10000.0;
        int time;
       
       
        for(time=1;;time++){
                m += 10000*0.1;
                n *= 1.05;
                if(n>m){
                        printf("%d年后,黑夜的投资额超过小甲鱼\n",time);
                        printf("小甲鱼的投资额是%.2f\n",m);
                        printf("黑夜的投资额是%.2f\n",n);
                        break;
                }
        }
       
    return 0;
}

1.
#include <stdio.h>
#include <math.h>
int main()
{
        float m = 4000000;
        int year;
        m -= 500000;
        for (year=1;;year++){
                m += m*0.08;
                m -= 500000;
                if(m<=0){
                        printf("%d年之后,小甲鱼败光了所有的家产,再次回到一贫如洗...\n",year+1);
                        break;
                }
        }
       
    return 0;
}

2.
不知道是写错了还是数太大了跑不出来orz
反正放上吧
#include <stdio.h>
#include <math.h>
int main()
{
        double pi;
        double flag = 1.0;
        int i;
        for (i=1;i<100000002;i+2){
                pi += flag*(1/i);
                flag = -1.0;
        }
        printf("%.7lf\n",pi*4);
       
    return 0;
}

3. 不知道,想看答案了hhhg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-18 14:16:18 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-18 17:03:07 | 显示全部楼层
QIUDAAN
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2021-4-18 18:56:27 | 显示全部楼层
xiaojiayu
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-18 19:10:43 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-18 22:37:39 | 显示全部楼层
233
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-20 07:47:31 | 显示全部楼层
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2021-4-20 12:08:00 | 显示全部楼层
520
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-20 16:34:16 | 显示全部楼层
测试题:
0. 请问下边代码将打印多少个 'A'?
#include <stdio.h>

int main()
{
        int i, j;

        for (i = 0; i != 10, j != 10; i++)
        {
                for (j = 0; j < 10; j++)
                {
                        putchar('A');
                }
        }

        putchar('\n');

        return 0;
}
复制代码
答:打印10个A,因为第一层内层循环结束后j =10,i++后就不能再进入循环了

1. 请问下边代码会打印多少个 'B'?
#include <stdio.h>

int main()
{
        int i = 0;

        while (i++)
        {
                if (i > 10)
                {
                        goto Label;
                }
                putchar('B');
        }

Label:  putchar('\n');

        return 0;
}
复制代码
答:打印10个‘B’,在第十一次循环的时候,i=11,就跳到标签Label处了。

2. 请写出表达式 a = b = c = 5 中的"l-value"?
答:l-value为c,b,a。

3. 请问表达式 a = (b = 3, 4, c = b++ + 5, ++c + ++b); 执行后,整型变量 a、b、c 的值是?
答:a = 14 b =5 c =9

4. 请使用条件运算符求出变量 x 的绝对值,并存放到变量 z 中。
答:x >= 0 ? z = x : z = -x;

5. C 语言其实在大部分情况下不使用 goto 语句也能做得很好,请尝试将下列代码段写成不带 goto 语句的版本。
A.
if (size > 12)
{
        goto a;
}
goto b;
a:      cost = cost * 1.05;
        flag = 2;
b:      bill = cost * flag;
复制代码

B.
if (ibex > 14)
{
        goto a;
}
sheds = 2;
goto b;
a:      sheds = 3;
b:      help = 2 * sheds;
复制代码

C.
readin: scanf("%d", &score);
if (score < 0)
{
        goto stage2;
}
count++;
goto    readin;
stage2: printf("count = %d\n", count);
复制代码
答:
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:
scanf("%d",&score);
if(score < 0)
{
        printf("count = %d\n",count);
}
else
{
        count ++;
        scanf("%d",&score);
}

动动手:
假设小甲鱼和黑夜手上均有 10000 元,小甲鱼以 10% 的单利息投资,黑夜则以每年 5% 的复合利息投资。请编写一个程序,计算需要多少年黑夜手头的 Money 才会超过小甲鱼?
提示:单利息即每年的利息均为投资额 * 利率;复合利息则是每年的本息所得作为第二年的投资额。
答:
#include<stdio.h>

int main()
{
        int i = 0;
        float M_fishC,M_night;

        M_fishC = M_night = 10000;

        do
        {
                i ++;

                M_fishC = 10000 + 10000 * 0.1 * i;
                M_night = M_night * 1.05;

        }while(M_fishC > M_night);

        printf("%d年后,黑夜的投资额超过小甲鱼!\n",i);
        printf("小甲鱼的投资额是:%.2f\n",M_fishC);
        printf("黑夜的投资额是:%.2f\n",M_night);

        return 0;
}


1. 都说天降横财不是什么好事儿,这不,小甲鱼中了双色球一等奖,扣除税收后还剩下 400 万人民币。假设小甲鱼把这些钱做固定投资,每年可以获得 8% 的红利,但在每年的第一天,小甲鱼都会取出 50 万作为本年度的开销……
请编写一个程序,计算需要多久小甲鱼才会败光所有家产,再次回到一贫如洗?
答:
#include<stdio.h>

int main()
{
        int year = 0;
        float Money = 4000000;

        do
        {
                year ++;
                Money -= 500000;
                Money = Money * 1.08;
        }while(Money > 0);

        printf("%d年之后,小甲鱼败光了所有的家产,再次回到一贫如洗......\n",year);


        return 0;
}


2. 根据以下已知公式求 Pi 的近似值,要求正确计算出小数点后前 7 位(即3.1415926)。

提示1:分子永远都是1;
提示2:后一项的分母是前一项的分母加2;
提示3:可以通过i = -i实现符号取反的效果;
提示4:要正确计算出小数点后前 7 位数,最后一项的绝对值需要小于 10^(-8) 才行(该项不累加);
提示5:求某数的绝对值可以使用 fabs 函数(函数快查:fabs – 求绝对值)
答:
#include<stdio.h>
#include<math.h>

int main()
{
        int i = 1;
        float mo = 1,de,result = 0;

        do
        {
                de = 2 * fabs(i) -1;
                result = result + mo/de * pow(-1,i + 1);
                if(fabs(mo/de * pow(-1,i+1)) < pow(10,-8))
                {
                        break;
                }

                i ++;
        }while(1);

        printf("Pi的近视值为:%.7f\n",4*result);

        return 0;
}


3. 这是一个有趣的古典数学问题:如果说兔子在出生两个月后,就有繁殖能力,在拥有繁殖能力之后,这对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么两年之后可以繁殖多少对兔子呢?
答:
#include<stdio.h>

int main()
{
        int month = 1,num_last,num_last2,result;

        for(month = 1;month < 25;month ++)
        {
                if (month < 3)
                {
                        num_last = 1;
                        num_last2 = 1;
                        continue;
                }
                result = num_last + num_last2;
                num_last2 = num_last;
                num_last = result;
        }

        result -= 1;
        printf("在两年后可以繁殖%d对兔子!\n",result);

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

使用道具 举报

发表于 2021-4-20 20:03:28 | 显示全部楼层
s1e16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2021-4-20 21:30:27 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-31 07:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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