c语言简单计数问题.docx

上传人:牧羊曲112 文档编号:3155329 上传时间:2023-03-11 格式:DOCX 页数:5 大小:38KB
返回 下载 相关 举报
c语言简单计数问题.docx_第1页
第1页 / 共5页
c语言简单计数问题.docx_第2页
第2页 / 共5页
c语言简单计数问题.docx_第3页
第3页 / 共5页
c语言简单计数问题.docx_第4页
第4页 / 共5页
c语言简单计数问题.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《c语言简单计数问题.docx》由会员分享,可在线阅读,更多相关《c语言简单计数问题.docx(5页珍藏版)》请在三一办公上搜索。

1、c语言简单计数问题一、统计与计数问题 方法:计数变量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 real numb

2、ers:n); while(1) /*典型循环结构(一)*/ scanf(%lf,&a); if(a=0) break; if(a0) 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 real numbers:n); scanf(%lf,&x); while(a!=0&n0) posn+; n+; if (n=a

3、&ch=A&ch=Z) n+; printf(Number of letters is %d.n,n); 二、数列求和求积:累加累乘递推法 1.基本累加累乘问题 累加法:求和变量初值一般为0,每循环一次,求和变量自加一个数据,这样循环结束后,求和变量的值即为这些数据的和。 累乘法:累乘变量初值一般为1,每循环一次,累乘变量自乘一个数据,这样当循环结束的时候,累乘变量的值即为这些数据连乘的积。 例1.输入n个100分制成绩,计算并输出平均成绩,要求输出精确到两位小数。 #include stdio.h #define n 10 void main double av = 0; printf(In

4、put %d int numbers:,n); for(i = 1;i1e-6) s+=a; k+; 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; a = 1; k = 0; while(fabs(a) 1e-6) s += a; k += 2; a *= -x * x / k / (k-1

5、); 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; printf(Input n,m:); scanf(%d%d,&n,&m); if(n 0 | m n) printf(Input data arent correct.n); return; if(n-mm) 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; printf(Input x,n:); scanf(%lf%d,&x,&n); printf(Input a0,a1,a%dn,n); y=0; for(i = 0;i =0&c =a&c =A&c=Z) a=c-55; else break; y=y*x+a; printf(y=%ldn,y);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号