累加累乘代码

1.从1~100累加

代码如下:

解析:

在这里sum=0,i=1;初始化并给sum和i赋值。因为这个程序求的是累加,所以sum为0,如若是求的是累乘,则sum为1;而不论累加累乘,i都是从1开始的,i++,一直加到100。

2.输入n,从1~n累加

代码如下:

解析:

在这里比之前一个程序没多大差别,但是这里用的是for循环,还加了一个n的输入,循环条件也写为i<=n

3.从1~100累乘

代码如下:

解析:

若用int则为0,因为sum的值太大了,导致无法求解。所以用double

4.输入n,从1~n累乘

代码如下:

解析:

这里输出的比较小的n值,若输出较大的则数据类型要改变为long,long long或者double

5.输入n,求1的阶乘加到n的阶乘的和

代码如下:

解析:

输入n,求1的阶乘加到n的阶乘的和就是把累加和累乘组合在一起,在加上一个输入语句,所以这里的i=1,从1经过i++一直到n,而num则相当于累乘中的i,也相当于累加中的项,赋值为1,sum相当于累加中的总值,而不是累加中的总值,所以这里的sum为0,而不是为1。

6.【进阶】计算1-1/2+1/3-1/4+......1/99-1/100的值

代码如下:

解析:

遇到这种求分式的和的程序,通常把分式分为分子和分母和前面的运算符号,先明确分子分母和运算符号随着项数变化的规律,再将分子分母和运算符号按照规律分别求解。如这一道题就是运算符号奇数项中为正,在偶数项中为负;而分子始终为1分母逐项递增从1到100

7.【进阶】水仙花数查找

水仙花数是指各位数字的立方和等于该数本身的三位数。例如,153是水仙花数,因为153=1*1*1+5*5*5+3*3*3。找出所有的水仙花数。

代码如下:

解析:

由题意可知在100~999的水仙花数有四个,这里i%10求得个位数i/10%10求的是十位数i/100求的是百位数,水仙花数是将各个位数的的立方加起来,如果加起来的和等于这个数本身,则称这个数是水仙花数。其实十位数还可i/10%10=i%100/10

8.【进阶】计算pai的近似值(pai是3.14)

利用公式pai/4=1-1/3+1/5-1/7......,编程计算pai的近似值,直到最后一项的绝对值小于10的负四次方10^(-4)为止,输出pai的值并统计累加的项数

代码如下:

解析:

这一道题也是将分子分母运算符号分开找规律求值,但这道题我们用的是while,因为这一道题有很多需要参与运算的变量,如果用for循环由于for( ; ;fm=fm+2)的话会在最后还要弯弯绕绕,所以建议用while

下面有这题关于for的使用:

注意:

这里count多了一项,是因为在判断条件的时候是以tx作为判断标准的,而最后一项tx需要在代码块里面进行计算,计算完了才跳出循环进行判断,在循环中之前还多进行了一项tx、pai、sign、count的没必要的计算,导致结果不准确。

改成这样:

解析:

这里是以tx作为判断条件来运行的,在循环里那个为条件,就先把哪个变量写在代码块上端并优先进行判断

9.【进阶】计算e的近似值

利用公式e=1+1/1!+1/2!+1/3!+1/4!+1/5!+......1/n!,编程计算e的近似值,直到最后一项的绝对值小于十的负五次方10^(-5)时为止,输出e的值并统计累加的项数

代码如下:

解析:

由于引进了求绝对值的fabs(),所以我们这里还要加上库函数math,这里e也相当于累加,所以设置为0,将分子分母分开来求解,这个程序循环内容比较复杂,所以我们用while

注意:

在初始浮点型变量时最好不设置为1,而设置为1.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值