版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、统计与计数问题方法:计数变量c的初值为0,每输入一个数据,进行必要判断后,若输入的数据满足统计条件,则计数变量c自加1,这样当对所有输入进行判断后,计数变量c的值就是统计的结果。例1:输入若干非0实数,直到输入0时停止,要求输入的实数最多不超过20个,统计其中正数的个数,负数的个数。分析:设三个计数变量:n统计输入的数据总个数(为什么有必要?)posn统计正数的数目negn统计负数的数目#include "stdio.h"void main() int n,posn,negn; double a;
2、n=posn=0; printf("Input real numbers:n"); while(1) /*典型循环结构(一)*/ scanf("%lf",&a); if(a=0) break; if(a>0) posn+;
3、0; n+; if(n>=20) break; negn=n-posn; printf("posn=%d,negn=%dn",posn,negn);用典型循环结构(二)改写例1程序#include "stdio.h"void main() int n,posn,negn; double a;
4、 n=posn=0; printf("Input real numbers:n"); scanf("%lf",&x); while(a!=0&&n<20) if(a>0) posn+; n+; if (n<20)
5、0; scanf("%lf",&a); negn=n-posn; printf("posn=%d,negn=%dn",posn,negn);例2:输入一行字符,统计其中的英文字母个数。提示:即输入到字符'n'时停止输入#include "stdio.h"void main() char ch; int n = 0; printf("
6、Input a string:n"); while(1) ch=getchar(); if(ch ='n') break; if(ch >='a'&&ch<='z'|ch>='A'&&ch<='Z')
7、160; n+; printf("Number of letters is %d.n",n);二、数列求和求积:累加累乘递推法1.基本累加累乘问题累加法:求和变量初值一般为0,每循环一次,求和变量自加一个数据,这样循环结束后,求和变量的值即为这些数据的和。累乘法:累乘变量初值一般为1,每循环一次,累乘变量自乘一个数据,这样当循环结束的时候,累乘变量的值即为这些数据连乘的积。例1.输入n个100分制成绩(用整型),计算并输出平均成绩,要求输出精确到两位小数。#include "stdio.h"#
8、define n 10void main() double av = 0; printf("Input %d int numbers:",n); for(i = 1;i< = n;i+) scanf("%d",&score); av += score; av /= n; printf("av=%.2fn"
9、;,av);2.数列计算,求和求积例2:教材P116例题6.6点评:该题数列通项比较简单,仅对分母进行递推计算,直接计算通项,累加通项;注意数列正负交叉项的控制方法。例3:计算下面的级数,直到最后一项的绝对值小于106时停止计算,输出计算结果。分析:令有#include "stdio.h"#include "math.h"void main() double x,s,a;int k; printf("Input x="); scanf("%lf"
10、;,&x); a=1; s=0; k=0; while(fabs(a)>1e-6) s+=a; k+; a=x/k*a; printf("s=.2fn",s);例4:输入x计算以下算式,要求计算到最后一项小于是106时停止计算,输出计算结果。分析:#include
11、 "stdio.h"#include "math.h"void main() double s,x,a; int k; printf("Input x ="); scanf("%lf",&x); s = 0; a = 1; k = 0; while(fabs(a) > 1e-6)
12、0; s += a; k += 2; a *= -x * x / k / (k-1); printf("s=%.6fn",s);例5 计算fibonacci数列。例6 教材P116 例6.7例6输入n,m,计算组合数P=C(n,m) 。#include "stdio.h"void main() double p = 1.0; int m,n,k
13、; printf("Input n,m:"); scanf("%d%d",&n,&m); if(n < 0 | m < 0 | m > n) printf("Input data aren't correct.n"); return; if(n-m<m) m = n-m; /*这句有何作用?*/
14、 for(k = 1;k <= m;k+) p *= (double)(n-m+k)/k; /*此处为什么要强制类型转换?*/ printf("c(%d,%d)=%.0fn", n,m,p);#include "stdio.h"void main() int n,i; double a,x,y; printf("Inp
15、ut x,n:"); scanf("%lf%d",&x,&n); printf("Input a0,a1,a%dn,n); y=0; for(i = 0;i < n;i+) scanf("%lf",&a); y= y * x + a; printf("
16、;y=%.2fn",y);/*输入一行16进制字符串,变成长整数输出*/#include "stdio.h"void main() long y=0; int x=16,a; char c; printf("Input a hex number:"); while(1) c=getchar(); if(c ='n
17、9;) break; if(c >='0'&&c <='9') a=c-48; else if(c >='a'&&c <='z') a=c-87; &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拨叉头加工课程设计
- 环保行业工程师工作总结
- IT行业客户服务心得
- 门诊部医生的工作总结
- 2024年苏教版九年级语文上册教学工作总结(共16篇)
- 2024年税务师题库(原创题)
- 《期货市场投资分析》课件
- 2024年规章制度会议记录(16篇)
- 【人教版九上历史】知识清单
- 2025关于房地产销售代理合同模板
- 广东省广州市越秀区2022-2023学年八年级上学期期末物理试卷
- 统编版语文四年级上册《期末作文专项复习》 课件
- 2024年黑龙江省机场集团招聘笔试参考题库含答案解析
- 食品从业人员安全学习培训记录
- 内科季度护理质量分析课件
- 2024年安全生产月活动安全知识竞赛题库含答案
- 销售回款专项激励政策方案(地产公司)
- 孕产妇健康管理服务规范课件
- 生物系统建模与仿真课件
- 风电项目核准及开工行政审批流程(备案核准、施工许可)
- ××市××学校巩固中等职业教育基础地位专项行动实施方案参考提纲
评论
0/150
提交评论