c语言画出求解任意两个数的乘积的流程图,程序设计基础习题.doc

.

.

7.8 习题

1. 编制一个C程序,从键盘输入一个正整数,如果该数为素数,则输出该素数,否则输出该数的所有因子(除去1与自身)。

2. 编制一个C程序,从键盘输入一个正整数N,然后计算并输出

S=

最后计算并输出

T=

其中的整数部分。

3. 编制一个C程序,计算并输出多项式的值

的值,直到 |Sn-Sn-1|<0.000001 为止。其中x从键盘输入。

4. 编制一个C程序,计算下列级数和:

sn=1+(2/1)+(3/2)+(5/3)+(8/5)+(13/8)+…+(an/an-1)

其中n≥1,由键盘输入;s1=1。

5. 编制一个C程序,计算并输出下列级数之和:

其中n与x从键盘输入。

6. 编制一个C程序,输出能写成两个数平方之和的所有三位数。

7. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如,6的因子为1、2、3,且1+2+3=6,即6是一个“完数”。编制一个C程序,计算并输出1000以内的所有“完数”之和。

8. 编制一个C程序,从键盘输入30个实数,分别计算并输出以下5个量:所有正数之和,所有负数之和,所有数的绝对值之和,正数的个数,负数的个数。

9. 100元钱买100只鸡,母鸡3元/只,公鸡2元/只,小鸡0.5元/只。编制一个C程序,制定买鸡方案。

10. 设A,B,C,D,E五人,每人额头上贴了一张或黑或白的纸。五人对坐,每人都可以看到其他人额头上的纸的颜色,但都不知道自己额头上的纸的颜色。五人相互观察后开始说话:

A说:我看见有三人额头上贴的是白纸,一人额头上贴的是黑纸。

B说:我看见其他四人额头上贴的都是黑纸。

C说:我看见有一人额头上贴的是白纸,其他三人额头上贴的是黑纸。

D说:我看见四人额头上贴的都是白纸。

E什么也没说。

现在已知额头上贴黑纸的人说的都是真话,额头上贴白纸的人说的都是假话。编制一个C程序,确定这五人中谁的额头上贴白纸,谁的额头上贴黑纸?

11. 寻找1000以内最小的10个素数与最大的10个素数(去掉重复的素数),计算并输出这20个素数之和。

具体要求:

(1) 画出计算过程的结构化流程图。

(2) 虽然1000以内素数个数超过20个,但仍要求考虑1000以内不够10个最小素数与10个最大素数,以及最小的10个素数与最大的10个素数有重复的情况。

(3) 输出要有文字说明。输出形式为

zui xiao su shu :素数1,素数2,…,素数10

zui da su shu : 素数1,素数2,…素数10

su shu zhi he : 和的具体值

(4) 在程序内部加必要的注释(至少有三处)。

方法说明:

对于某个(从小到大与从大到小)自然数k,开始时置标志flag为0,然后对2到中的自然数j进行检测,当发现j是k的因子,就置flag为1,表示不必再对别的自然数进行检测,因为此时已经可以确定k不是素数了,只有当2到中的所有自然数都不是k的因子(即flag保持为0)时,说明k为素数,输出k,并进行累加。

12. A、B、C、D、E五人分苹果。A将所有的苹果分为五份,将多余的一个苹果吃掉后再拿走自己的一份苹果;B将剩下的苹果分为五份,将多余的一个苹果吃掉后再拿走自己的一份苹果;C、D、E依次按同样的方法,将剩下的苹果分为五份,吃掉多余的一个苹果后拿走自己的一份苹果。编程计算原来至少有多少个苹果?A、B、C、D、E各得到多少个苹果?

具体要求:

(1) 画出计算过程的结构化流程图。

(2) 输出要有文字说明。

(3) 在程序内部加必要的注释(至少有三处)。

方法说明:

采用逐步试探的方法。

设当前试探的苹果数为n。如果n满足下列条件:

n-1(多余的一个被吃掉)后要能被5整除;

拿走一份后,余下的四份苹果数为4*(n-1)/5。

按上述策略连续进行五次分配,如果每次分配时均满足其中的条件,则试探的n即为原来的苹果数x。

为了第一次能分配,试探从6开始。 根据分配策略,最后A,B,C,D,E五人得到的苹果数(不包括吃掉的一个苹果)可以按如下公式依次计算:

a=(x-1)/5 b=(4*a-1)/5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值