【程序设计入门——C语言】mooc浙大翁恺教授【第五周,3循环应用】笔记+理解

1

在这里插入图片描述

代码

在这里插入图片描述

理解

分母由1——n. 起点的数字1,终点的数字n 是明确的,用for循环
对于总和sum. 由于 1/i 带有小数点,不用int ,用double
1/i 是0,改为 1.0/i 【因为 i 比1大】

2

在这里插入图片描述

代码

在这里插入图片描述

理解

第一次加,第二次减(一加一减的实现):
方法一:设置 sign,int sign=1.并在后面 设置 sign=-sign
让 1.0/i 变成 sum*1.0/i

方法二:double sign=1.0(这样就不需要int sign=1) ,同时也做到了小数点。 一正一负保持不变,上一行代码【sum += sign/i ,1. sign是浮点数类型,2.sign相当于分子,在自由一正一负交换】

3 求最大公约数(两种方法)

代码

  1. 枚举
    在这里插入图片描述
  2. 辗转相除法:见此前笔记求最大公约数——辗转相除法

理解

如果a,b都没有最大公约数,那么1 可以表示最大公约数。故从i=1开始

4 整数分解

在这里插入图片描述

代码

在这里插入图片描述

理解

  1. 如何处理最后一个输出 是 空格?(输出的末尾多出一空格)
    if循环条件x>9 / x>=10 代表,前面还有2位及以上的数,所以printf 空格
    【设置循环条件,让他在非最后一轮去输出空格,在最后一位时,不输出】

取出每一位:x%10 拿到最后一位
x/=10 去除最后一位
2. 未完,待续

猜你喜欢

转载自blog.csdn.net/m0_57495651/article/details/132345643