[学习记录]C Primer Plus(第6版)编程练习题 答案(带运行结果)——第2章

这篇博客详细记录了C Primer Plus第6版的第2章编程练习的解答,包括8道题目。每道题都提供了答案代码及相应的运行结果。读者可以参考此博客来理解和验证编程练习的解决方案。
C Primer Plus(第6版)(中文版) 在文末,有需要的同学请自己下载

2.12 编程练习

第1题

编 写 一 个 程 序, 调 用 一 次 printf() 函 数, 把 你 的 姓 名 打 印 在 一 行。 再 调 用 一 次 printf() 函 数, 把 你 的 姓 名 分 别 打 印 在 两 行。 然 后, 再 调 用 两 次 printf() 函 数, 把 你 的 姓 名 打 印 在 一 行。 输 出 应 如 下 所 示( 当 然 要 把 示 例 的 内 容 换 成 你 的 姓 名):
在这里插入图片描述

答案代码:

#include <stdio.h>
int main(void)
{
    printf("Gustav Mahler\n");//第一次打印

    printf("Gustav\nMahler\n");//第二次打印

    printf("Gustav ");//第三次打印
    printf("Mahler");//第四次打印

    return 0;
}

运行结果:

在这里插入图片描述

第2题

编 写 一 个 程 序, 打 印 你 的 姓 名 和 地 址。

答案代码:

#include <stdio.h>
int main(void)
{
    printf("My name is Sherlock Holmes.\n");
    printf("My address is:221B Baker Street, London, England. ");
    return 0;
}

运行结果:

在这里插入图片描述

第3题

编 写 一 个 程 序 把 你 的 年 龄 转 换 成 天 数, 并 显 示 这 两 个 值。 这 里 不 用 考 虑 闰 年 的 问 题。

答案代码:

#include <stdio.h>
int main(void)
{
    int age,day;
    age = 30;
    day =365 * age ;
    printf("My age is %d ,the days are %d .",age,day);
    return 0;
}

运行结果:

在这里插入图片描述

第4题

编 写 一 个 程 序, 生 成 以 下 输 出:
For   he’s   a   jolly   good   fellow!
For   he’s   a   jolly   good   fellow!
For   he’s   a   jolly   good   fellow!
Which   nobody   can   deny!
除 了 main() 函 数 以 外, 该 程 序 还 要 调 用 两 个 自 定 义 函 数: 一 个 名 为 jolly(), 用 于 打 印 前 3 条 消 息, 调 用 一 次 打 印 一 条; 另 一 个 函 数 名 为 deny(), 打 印 最 后 一 条 消 息。

答案代码:

#include <stdio.h>
void jolly(void);
void deny(void);

int main(void)
{
    jolly();
    jolly();
    jolly();
    deny();
    return 0;
}

void jolly(void)
{
    printf("For he's a jolly good fellow!\n");
}

void deny(void)
{
    printf("Which nobody can deny!");
}

运行结果:

在这里插入图片描述

第5题

编 写 一 个 程 序, 生 成 以 下 输 出:
Brazil,   Russia,   India,   China
India,   China,
Brazil,   Russia
除 了 main() 以 外, 该 程 序 还 要 调 用 两 个 自 定 义 函 数: 一 个 名 为 br(), 调 用 一 次 打 印 一 次“ Brazil, Russia”; 另 一 个 名 为 ic(), 调 用 一 次 打 印 一 次“ India, China”。 其 他 内 容 在 main() 函 数 中 完 成。

答案代码:

#include <stdio.h>

void br(void);//这行有没有都行
void ic(void);//这行有没有都行

void br(void)
{
    printf("Brazil, Russia");
}

void ic(void)
{
    printf("India, China");
}

int main(void)
{
    br();
    printf(", ");
    ic();
    printf("\n");
    ic();
    printf(", \n");
    br();
    return 0;
}

运行结果:

在这里插入图片描述

第6题

编 写 一 个 程 序, 创 建 一 个 整 型 变 量 toes, 并 将 toes 设 置 为 10。 程 序 中 还 要 计 算 toes 的 两 倍 和 toes 的 平 方。 该 程 序 应 打 印 3 个 值, 并 分 别 描 述 以 示 区 分。

答案代码:

#include <stdio.h>
int main(void)
{
    int toes,toes_double,toes2;
    toes = 10;
    toes2 = toes * toes;
    toes_double = 2 * toes;
    printf("The toes is %d, twice the toes is %d, toes suqared is %d.",toes,toes_double,toes2);
    return 0;
}
```c


运行结果:

在这里插入图片描述

第7题

许 多 研 究 表 明, 微 笑 益 处 多 多。 编 写 一 个 程 序, 生 成 以 下 格 式 的 输 出:
Smile! Smile! Smile!
Smile! Smile!
Smile!
该 程 序 要 定 义 一 个 函 数, 该 函 数 被 调 用 一 次 打 印 一 次“ Smile!”, 根 据 程 序 的 需 要 使 用 该 函 数。

答案代码:

#include <stdio.h>
void sm(void);//这行有没有都行
void sm(void)
{
    printf("Smile!");
}

int main(void)
{
    sm();sm();sm();
    printf("\n");
    sm();sm();
    printf("\n");
    sm();
    return 0;
}

运行结果:

在这里插入图片描述

第8题

在 C 语 言 中, 函 数 可 以 调 用 另 一 个 函 数。 编 写 一 个 程 序, 调 用 一 个 名 为 one_three() 的 函 数。 该 函 数 在 一 行 打 印 单 词“ one”, 再 调 用 第 2 个 函 数 two(), 然 后 在 另 一 行 打 印 单 词“ three”。 two() 函 数 在 一 行 显 示 单 词“ two”。 main() 函 数 在 调 用 one_three() 函 数 前 要 打 印 短 语“ starting now:”, 并 在 调 用 完 毕 后 显 示 短 语“ done!”。 因 此, 该 程 序 的 输 出 应 如 下 所 示:
starting   now:
one
two
three
done!

答案代码:

#include <stdio.h>
void one_three(void);//这行有没有都行
void two(void);//这行有没有都行

void two(void)
{
    printf("two\n");
}

void one_three(void)
{
    printf("one\n");
    two();
    printf("three\n");
}

int main(void)
{
    printf("starting now:\n");
    one_three();
    printf("done!");
    return 0;
}

运行结果:

在这里插入图片描述

C Primer Plus(第6版)(中文版)
链接:https://pan.baidu.com/s/1F-S2Iwn41KNh4XyVupi_4w
提取码:g2jr

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值