版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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江西宜春职业技术学院引进高层次人才(博士研究生)7人模拟试卷【名师系列】附答案详解
- 2026福建宁德市屏南县纪委监委所属事业单位招聘4人备考题库及完整答案详解【必刷】
- 2026湖南衡阳县属事业单位急需紧缺专业技术人才引进39人考前冲刺试卷参考答案详解
- 2026广东茂名市高州市公益性岗位招聘11人(第一批)考前冲刺试卷【模拟题】附答案详解
- 临床腰椎间盘突出症术后护理
- 单招综评面试题及答案
- 2025-2026学年四川省泸州市三年级数学下学期期中达标检测试题含答案
- 深挖历史考试题目及参考答案
- 2025-2026学年四川省乐山市马边彝族自治县数学四年级第二学期期末调研试题含解析
- 2026中国智能机器人论坛行业市场现状供需分析及投资评估规划分析研究报告
- 2026浙江金华市义乌市机关事业单位编外聘用人员招聘66人笔试参考题库及答案详解
- 儿童慢性咳嗽中医诊疗指南
- 民宿行业市场发展分析及发展前景与投资机会研究报告
- 本科神经病学题库及答案
- 车路云一体化交通管控工程技术方案
- 现代供应链管理实务高职全套教学课件
- 高边坡作业风险告知书【可编辑版】
- 关节臂式测量培训课件
- 经筋理论的临床意义课件
- 黄酒酿造工艺课件
- Fanuc机器人喷涂培训教程-
评论
0/150
提交评论