手机版

实验四_循环结构程序设计(5)

发布时间:2021-06-07   来源:未知    
字号:

5. 选择结构if-else可以有多种变数,程序并非唯一的。

如,if-else也可修改为:

if(i>=m) printf("YES\n");

else printf("NO\n");

【4.3】编程实现:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。程序文件名ex4_3.c。

分析:本程序的关键问题求和,则采用累加算法,该算法采用循环结构。

算法思想,引入一个和变量sum,一个加数变量b,求和表达式为,sum=sum+b; 累加算法就是重复执行求和表达式sum=sum+b的过程。细化问题,该求和表达式要执行多少次,或满足何条件就不再执行;每次执行时b如何变化。

具体问题具体分析。由题意,求自然数的倒数之和,倒数可考虑为1/i。循环次数为n。 #include <stdio.h>

void main( )

{

int i,n;

float sum=0.0;

scanf("%d",&n);

for(i=1;i<=n;i++)

if(i%5==0||i%9==0)

sum+=1.0/i;

printf("%f ",sum);

}

输入测试数据:20

程序运行结果:s=0.583333

小结:

1. 求满足能被5或9整除的所有自然数的条件表达式:i%5==0||i%9==0

2. 求分数之和时,一定要考虑整型除整型的情况。源程序中变量i为整型,所以倒数1/i,在具体编程时可处理为1.0/i或1/(float)i的形式。

【4.4】编程实现,计算 n!的值。程序文件名:ex4_4.c。

n 110

分析:原题为求1+2!+ +10!。程序设计的核心是累加。观察第n-1项与第n项,可知第n-1项与第n项的关系为:n!=(n-1)!*n。由此该程序设计,可采用递推算法。

递推算法是计算机数值计算中的一个重要算法,算法思想是给定一个已知条件,根据前后项的关系,由前项推后项。

假设变量t表示项,t的初始值为1,则第n项的表达式为: t=t*n。

递推算法,采用循环语句。

#include <stdio.h>

void main()

{

long i,n,sum=0,t=1;

for(i=1;i<=10;i++)

实验四_循环结构程序设计(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)