鱼C论坛

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

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

  [复制链接]
发表于 2023-4-18 01:58:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2023-4-23 22:19:22 | 显示全部楼层
因离线学习需要,先获取答案,后面再上传自己的作业,保证先做作业再看答案~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2023-5-3 14:32:55 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-3 15:33:04 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2023-5-4 15:49:55 | 显示全部楼层
10
0
abc
a=16,b=4,c=9
#include <stdio.h>

int main()
{
    int x,z;
    printf("请输入一个数字:");
    scanf("%d",&x);
    z=-x;
    printf("%d\n",x<0?z:x);

    return 0;
}
#include <stdio.h>

int main()
{
    int size;
    int cost,flag;
    printf("请输入一个整数:");
    scanf("%d",&size);
    if(size>12)
    {
        cost*=1.05;
        flag=2;
    }
    else
    {
        bill=cost*flag;
    }

    return 0;
}
动动手
#include <stdio.h>

int main()
{
    int fishc;
    double night;
    fishc=10000;
    night=10000;
    int fishc1=10000 ,i;
    for(i=1;fishc>=night;i++)
    {
        fishc=fishc1+(1000*i);
        night=night+night*0.05;
    }
    printf("%d年后黑夜的投资额超过小甲鱼!\n",i-1);
    printf("小甲鱼的投资额是%d\n",fishc);
    printf("黑夜的投资额是%f\n",night);

    return 0;
}
#include <stdio.h>

int main()
{
    double money=400;
    int i;
    for(i=0;money>=0;i++)
    {
        money=money-50;
        money=money+money*0.08;
    }
    printf("%d年后",i);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2023-5-6 20:10:24 | 显示全部楼层
0.大概是10个?
1.10个
2.
3.10,3,4
4.见程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-8 18:04:25 | 显示全部楼层
0. 10个
1. 10个
2. a
3. a=15;b=5;c=10;
4. z =  x > 0 ? x : -x;
5.
if (size > 12)
{
        cost = cost * 1.05;
        flag = 2;
}
bill = cost * flag;
----------------------------------------
if (ibex > 14)
{
        sheds = 3;
}
else{
        sheds = 2;
}
help = 2 * sheds;
--------------------------------------
int score,count = 0;
while(score = scanf("%d", &score) >= 0){
        count++;
}
printf("count = %d\n", count);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2023-5-13 10:24:46 | 显示全部楼层
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个。这道题的陷阱在于让你认为退出外层循环需要同时符合 i == 10 和 j == 10 两个条件。其实并不是这样,这是一个逗号表达式,只取最后边的值。也就是说只要满足 j == 10 就可以了。
1. 请问下边代码会打印多少个 'B'?
#include <stdio.h>

int main()
{
        int i = 0;

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

Label:  putchar('\n');

        return 0;
}
一个都没有!因为i++是先取出变量i的值,再为变量自身加一。因此第一进入循环判断时,取出的值是0,并不符合循环的条件,因此循环一次都没有被执行。
2. 请写出表达式 a = b = c = 5 中的"l-value"?
a、b、c 都是"l-value"。
3. 请问表达式 a = (b = 3, 4, c = b++ + 5, ++c + ++b); 执行后,整型变量 a、b、c 的值是?
b=3;
c=8
b=4;
c=9;
b=5;
a=(b=3,4,c=8,9+5)=16
b=5
c=9
解答这道题需要充分消化这一节课我们所学习的内容,首先 b = 3(因为赋值运算符的优先级比逗号运算符高);c = b++ + 5,c = 8(因为 b++ 是先使用变量 b 的值,再将自身加一);a 最后的值是 ++c + ++b,此时 c = 8,b = 4,则 a = 9 + 5,最后 a = 14, b = 5, c = 9。

4. 请使用条件运算符求出变量 x 的绝对值,并存放到变量 z 中。
z= x>0? x:-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;
}
bill = cost * flag;

B.
if (ibex > 14)
{
        sheds = 3;
}
else
{
        sheds = 2;
}
help = 2 * sheds;

C.

scanf("%d", &score);
while(score >=0)
{
        count++;
        scanf("%d", &score);
}
printf("count = %d\n", count);

动动手:
假设小甲鱼和黑夜手上均有 10000 元,小甲鱼以 10% 的单利息投资,黑夜则以每年 5% 的复合利息投资。请编写一个程序,计算需要多少年黑夜手头的 Money 才会超过小甲鱼?
提示:单利息即每年的利息均为投资额 * 利率;复合利息则是每年的本息所得作为第二年的投资额。
#include<stdio.h>
#include<math.h>
int main()
{
                int year = 0;
                float fishc = 10000,heiye = 10000;
                double f_result,h_result;
               
                do
                {
                        year++;
                        f_result = fishc * 0.10 * year + fishc;
                        h_result = heiye * pow(1.05,(double)year);
                       
                }while(h_result < f_result);
                printf("%d年后,黑夜的投资额超过小甲鱼!\n",year);
                printf("小甲鱼的投资额为:%.2f\n",f_result);
                printf("黑夜的投资额为:%.2f\n",h_result);
                return 0;
}
1. 都说天降横财不是什么好事儿,这不,小甲鱼中了双色球一等奖,扣除税收后还剩下 400 万人民币。假设小甲鱼把这些钱做固定投资,每年可以获得 8% 的红利,但在每年的第一天,小甲鱼都会取出 50 万作为本年度的开销……
请编写一个程序,计算需要多久小甲鱼才会败光所有家产,再次回到一贫如洗?
#include<stdio.h>

int main()
{
                int year = 0;
                float fishc = 400;
                do
                {
                        year++;
                        fishc -= 50;
                        fishc = fishc * (1+0.08);
                }while(fishc > 0 );
                printf("%d年后,小甲鱼败光了所有的家产,再次回到一贫如洗....",year);
                return 0;               
}
2. 根据以下已知公式求 Pi 的近似值,要求正确计算出小数点后前 7 位(即3.1415926)。
#include<stdio.h>
#include<math.h>

int main()
{
               
                double pi_4 = 1,pi;
                int i = 1;
                double j = 1;
                double k;
                do
                {
                                i = -i;
                                j += 2;
                                k = 1 / j * i;
                                pi_4 += k;
                }while(fabs(k) >= pow(10,-8));
                pi = pi_4 * 4;
                printf("PI的值为%.7f\n",pi);
                return 0;
}
3. 这是一个有趣的古典数学问题:如果说兔子在出生两个月后,就有繁殖能力,在拥有繁殖能力之后,这对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么两年之后可以繁殖多少对兔子呢?
#include<stdio.h>
#include<math.h>

int main()
{
                //第一个月开始前的兔子数
                int tu;                //兔子总数
                int tu_0 = 1;        //本月可繁殖的兔子
                int tu_1 = 0;        //上月新生兔,一个月后可繁殖
                int tu_2 = 0;        //本月新生兔,两个月后可繁殖
                int mouth;
                for(mouth=3;mouth<=12;mouth++)
                {
                        //下个月初,一批兔子成熟,可繁殖兔子数增多
                        tu_0 += tu_1;
                        tu_1 = tu_2;
                        tu_2 = tu_0; //新繁殖兔子数
                 }
                 tu = tu_0 + tu_1 + tu_2;
                 printf("两年后兔子总数为%d\n",tu);
                 return 0;
                               
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 22:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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