找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 81|回复: 0

第6章习题

[复制链接]

620

主题

336

回帖

1057

积分

管理员

积分
1057
发表于 2026-3-7 16:28:45 | 显示全部楼层 |阅读模式
第6章习题

1.给定以下程序:
# include <stdio.h>

int f (int a, int b, int c)
{
    return (a < b && b < c) || (a > c);
}

int main (void)
{
    printf ("%d\n", f (5, 10, 15));
}
已知关系运算符的优先级最高,&&次之,||最低,问题:
(1)分析一下这个程序的输出是什么;
(2)改写f函数,要求使用if语句。

2.请编写程序找出10000以内所有能够同时被3、5和7同时整除的正整数。
答案不唯一,仅供参考。
# include <stdio.h>

int main (void)
{
    for (int n = 1; n < 10000; n ++)
        if (n % 3 == 0 && n % 5 == 0 && n % 7 == 0)
            printf ("%d\n", n);
}

3.图6-14由100个边长为100,99,98,…,2,1的正方形重叠而成,用递归的方法编写程序,计算出阴影部分的总面积。
答案不唯一,仅供参考:
阴影部分面积等于S100-S99 + S98-S97+...+S2-S1

# include <stdio.h>

int sarea (int m)
{
    if (m == 2) return 2 * 2 - 1 * 1;
    else return m * m - (m - 1) * (m - 1) + sarea (m - 2);
}

int main (void)
{
    printf ("%d\n", sarea (100));
}


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

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2026-3-30 16:13 , Processed in 0.243937 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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