下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、统计与计数问题方法:计数变量c 的初值为0,每输入一个数据,进行必要判断后,若输入的数据满足统计条件,则计数变量 c 自加 1,这样当对所有输入进行判断后,计数变量c 的值就是统计的结果。例 1:输入若干非0 实数,直到输入0 时停止,要求输入的实数最多不超过20 个,统计其中正数的个数,负数的个数。分析:设三个计数变量:n统计输入的数据总个数(为什么有必要?)posn统计正数的数目negn统计负数的数目#include "stdio.h"void main()int n,posn,negn;double a;n=posn=0;printf("Input re
2、al numbers:n");while(1) /* 典型循环结构 (一 )*/scanf("%lf",&a);if(a=0)break;if(a>0)posn+;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;n=posn=0;printf("Input rea
3、l numbers:n");scanf("%lf",&x);while(a!=0&&n<20)if(a>0)posn+;n+;if (n<20)scanf("%lf",&a);negn=n-posn;printf("posn=%d,negn=%dn",posn,negn);例 2:输入一行字符,统计其中的英文字母个数。提示:即输入到字符 'n'时停止输入#include "stdio.h"void main()char ch;int n =
4、 0;printf("Input a string:n");while(1)ch=getchar();if(ch ='n')break;if(ch >='a'&&ch<='z'|ch>='A'&&ch<='Z')n+;printf("Number of letters is %d.n",n);二、数列求和求积:累加累乘递推法1.基本累加累乘问题累加法:求和变量初值一般为0,每循环一次,求和变量自加一个数据,这样循环结束后
5、,求和变量的值即为这些数据的和。2精选文库累乘法:累乘变量初值一般为1,每循环一次,累乘变量自乘一个数据,这样当循环结束的时候,累乘变量的值即为这些数据连乘的积。例 1.输入 n 个 100 分制成绩(用整型),计算并输出平均成绩,要求输出精确到两位小数。#include "stdio.h"#define n 10void main()double av = 0;printf("Input %d int numbers:",n);for(i = 1;i< = n;i+) scanf("%d",&score);av +=
6、score;av /= n;printf("av=%.2fn",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("%
7、lf",&x);a=1;s=0;k=0;while(fabs(a)>1e-6)s+=a;k+;3精选文库a=x/k*a;printf("s=.2fn",s);例 4:输入 x 计算以下算式,要求计算到最后一项小于是106 时停止计算,输出计算结果。分析:#include "stdio.h"#include "math.h"void main()double s,x,a;int k;printf("Input x =");scanf("%lf",&x);s = 0;
8、a = 1;k = 0;while(fabs(a) > 1e-6)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;4精选文库int m,n,k;printf("Input n,m:");scanf("%d%d",&n,&
9、;m);if(n < 0 | m < 0 | m > n)printf("Input data aren't correct.n");return;if(n-m<m)m = n-m; /* 这句有何作用 ?*/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;pri
10、ntf("Input x,n:");scanf("%lf%d",&x,&n);printf("Input a0,a1,n,n);,a%dy=0;for(i = 0;i < n;i+) scanf("%lf",&a);y= y * x + a;printf("y=%.2fn",y);/* 输入一行 16 进制字符串,变成长整数输出*/5精选文库#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')break;if(c >='0'&&c <='9')a=c-48;else i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高职院校实训基地建设方案案例
- 制造行业薪酬管理体系设计案例
- 建筑设计阶段项目管理流程
- 物业维修工岗位职责及操作流程
- 中小学心理健康教育课程设计及实施
- 治安管理法常见问题及员工培训指南
- 小学科学课堂教学创新案例评析
- 采购流程规范及项目实施计划
- 篮球画展策划活动方案
- 线上婚恋活动方案
- 四年级上册语文阅读理解及答案(A4打印版)
- GB/T 3478.1-2008圆柱直齿渐开线花键(米制模数齿侧配合)第1部分:总论
- 服饰编码规则表参考范本
- DID方法与合成控制法-课件
- 临床医学研究设计及统计学问题课件
- 《郑伯克段于鄢》PPT
- 高速铁路客运设施设备课件
- InSAR干涉测量解析课件
- 磁通门传感器的工作原理
- 检验科生物安全风险评估报告
- MonitorDrive-调试6SE70系列变频器(培训)课件
评论
0/150
提交评论