版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钙产品介绍课件
- 健康管理师考试重点社区营养学考点冲刺预测试卷及答案
- 航空器维修质量控制工程师考试航空器维修质量控制与安全管理模拟试卷及答案
- 公共卫生医师资格证考试流行病学专项训练题库及答案
- 药理学药物临床应用指南备考习题及答案
- 临床药理职称考试模拟试卷药学综合知识与技能高频考点题库及答案
- 银行招聘性格测试情绪管理备考指南及答案
- 软件开发团队协作与项目管理绩效评估表
- 铁路通信设备操作特级专家级技师技能考核模拟试卷及答案
- 港口与航道工程师考试航道测量与导航专项题库及答案
- 2026年自考06393土木工程概论历年试题及答案详解
- 重症患者持续葡萄糖监测应用专家共识(2026版)
- 2026年医院人力资源管理工作计划
- 2026年四川省绵阳市公安辅警招聘考试试卷(含完整答案及详细解析)
- 金融行业现状及发展趋势
- 测量设备校验程序
- 公安信访与警调对接课件
- 卫生院安全生产工作培训课件
- (新教材)2026年部编人教版一年级上册语文 5 对韵歌 教学课件
- 铝材清洗承包协议书
- 锐捷施工方案
评论
0/150
提交评论