c语言使用格里高利求pi,用c语言编写程序4.ppt

用c语言编写程序4

第 四 章 循环结构 4.1 用格里高利公式求π的近似值 (while语句) 4.2 统计一个整数的位数 (do-while语句) 4.3 判断素数 (break 和 continue 语句) 4.4 求1!+2!+...+100! (循环嵌套) 4.5 循环结构程序设计 本章要点 什么是循环? 为什么要使用循环? 如何实现循环? 实现循环时,如何确定循环条件和循环体? 怎样使用while 和do-while语句实现次数不确定的循环? while 和do-while语句有什么不同? 如何使用break语句处理多循环条件? 如何实现多重循环? 4.1 用格里高利公式求π的近似值 使用格里高利公式求π的近似值,要求精确到最后一项的绝对值小于10–4。 4.1.1 程序解析 4.1.2 while语句 4.1.3 输入一批学生的成绩,统计平均分 4.1.1 程序解析-求π的近似值 #include int main(void) { int denominator, flag; double item, pi; flag = 1; denominator = 1 ; item = 1.0; pi = 0; while(fabs (item) >= 0.0001) { item = flag * 1.0 / denominator; pi = pi + item; flag = -flag; denominator = denominator +2; } pi = pi * 4; printf ( “pi = %f\n”, pi); return 0; } 4.1.2 while 语句 while (条件) 循环体语句; while 语句说明 while 语句和for语句 都是在循环前先判断条件 while 和 for 的比较 for (i = 1; i <= 10; i++) sum = sum + i; 4.1.3 统计输入的一批学生的平均成绩 例4-2 从键盘输入一批学生的成绩,计算平均分。 分析: 求累加和 确定循环条件 不知道输入数据的个数,无法事先确定循环次数 用一个特殊的数据作为正常输入数据的结束标志,比如选用一个负数作为结束标志。 #include Int main(void) { int num; double grade, total; num = 0; total = 0; printf(“Enter grades: \n"); scanf("%lf", &grade); /* 输入第1个数*/while (grade >= 0) { /* 输入负数,循环结束 */ total = total + grade; num++; scanf (“%lf”, &grade); } if(num != 0) printf(“Grade average is %.2f\n", total/num); else printf(" Grade average is 0\n"); return 0; } 4.2 统计一个整数的位数 从键盘读入一个整数,统计该数的位数。 4.2.1 程序解析 4.2.2 do - while语句 4.2.3 循环语句的选择 4.2.1 程序解析-统计一个整数的位数 int main(void) { int count, number; count = 0; printf("Enter a number: "); scanf ("%d", &number) ; if (number < 0) number = -number; do { number = number / 10; count ++; } while (number != 0); printf("It contains %d digits.\n", count); return 0; } 4.2.2 do - while 语句 do { 循环体语句 } while (表达式) while 和 do-while 的比较 while 是先判别条件,再决定是否循环; do-while 是先至少循环一次,然后再根据循环的结果决定是否继续循环。 4.2.3 循环语句的选择 if(循环次数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值