版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6. 1. 1 FibOnaCCi 数列* FibOnaCCi数列递推求解*/main()int k, n; IOng s, f5;Printfr求数列的第n项与前n项和,请输入n,);SCanf ("%d", &n);fl二 l;f2二 1;S 二 2;*数组元素与和变量赋初值*/for (k=3;k<=n;k+)fk=fk-l+fk-2;*实施递推*/s+二 fk;*实施求和*/Printf ("F数列第d项为:dr',n, fEn);Printf (,zF 数前d 项之和为:%ldn,z, n, S);6. 1.2幕序列/*幕序列程序*
2、/main ()int k, n; IOng a, b, s, f 100;Printf(ZZ求数列的第n项与前n项和,请输入n);SCanf ("96d", &n);a=2;b=3;s=0;for(k=l;k<=n;k+)if(a<b)fk=a;a=a*2;*用2的幕给fk赋值*/else fk=b;b=b*3;* 用 3 的幕给 fk赋值 */s+二 fk;Printf ("数列的第%d 项为:%ldn", n, f n);Printf (,数列的前d 项之和为:%ldn,z, n, S);6.1.3双关系递推数列/*双关系2x+
3、l, 3x+l递推*/main ()int n, i, j, h, m1500;ml=l;SCanf ("%d", &n);for(i=l;i<=n;i 卄)m2*i=2*mi+l ;m2*i+l=3*mi+l;for(j=i+2;j<=2*i+l;j+)if (mi+l>mj)* m(i+l)与m(j)比较*/h=mj; mj=mi+l ;mi+l=h;* 交换,使m(i+1)最小*/if (mi+l=mj)mj=20000+j;* 置 m(j)为一出界大数,以避免重复*/for(i=l;i<=n;i+)printf (, %4d"
4、;,mi);if (! (i%10) Printf (,zn,z) ;6.1.4复杂递推数列* 2x+3y递推程序 */main()int m, n, t, k, i, h, j, w, a30000;Printf("n input m:");SCanf(%d: &m);al=l;a2=2;t=2;n=0;for (k=2;k<=m;k+)for(i=l;i<=kl;i+)w=2*ak+3*ai;if (w<=m && ak !=ai) a+t=w;* 判断 W 是否为递推项*/w=2*ai+3*ak;if (w<=m &am
5、p;& ak !=ai) a+t=wj /* 判断 W 是否为递 推项*/for(j=l;j<=m;j+)for(k=l;k<=t;k+)辻(ak=j)n+;Printf (,%4d(%3d) ", j, n) ;break;Printf (,n n=%d", n);6. 2. 1折叠方阵/*层叠方阵*/main() int a, i, j, m, n, x, y, Z 20 20l ;Printf (输入方阵的行数m: r);Printf C输入方阵的起始数a:n");SCanf&a);zl lj=a;n=a;for(i=2;i<
6、;=m;i+)x=l;y=i;n+;Zxy二n;/*每一层的起始元素赋值for (x二1;X二m;x+)*/WhiIe (x<i)n+;x+;zxEy=n;/*每一层的纵元素赋值*/While (y>l)n+;y;zx yj =n;/*每一层的横元素赋值*/for (y=l;y<=m;y+)Printf (,%4d, zx y);/*循环打印层叠方阵*输入a矩阵的元素*/输入b矩阵的元素*/*打印a矩阵*/PrintfC,W) ; 6.2.2矩阵的和与转置main () int i, j, m, n, x, y, a4 5, b4 5;Printf (,z输入a矩阵:); f
7、or(i=l;i<=3;i+) for(j=l;j<=4;j+)SCanf (,%d, &ai j) ;/Printf (z,输入b矩阵:); for(i=l;i<=3;i+) for(j=l;j<=4;j+)scanf (,%d,z, &bij j) ;/Printf (,a 矩阵:n");for(i=l;i<=3;i+) for(j=l;j<=4;j+)Printf (,z%3d,j ai j); PrintfrW); Printf (,b 矩阵:);for(i=l;i<=3;i+)for(j=lJ<=4J+)Pri
8、ntfc%3d", bi j);/*打印b矩阵*/Printf Cn/Z);Printf (,a, b 矩阵之和:n");for(i=l;i<=3;i+)for(j=l;j<=4;j+)计算并打印a+b/*打印a矩阵Printf (zz%4d,z, ai j+bi j); 的元素*/Printfr nzz);Printf (,a 矩阵的转置:n); for(j=l;j<=4;j+)的转置*/for(i=l;i<=3;i+)Printf (,%4d,z, ai j);Printfr) ;6.2.3矩阵的积/*求a, b矩阵的积*/main () int
9、 i, j, k, d, a4 5, b5 3;Printf ("输入 a 矩阵:r);for(j=l;j<=4;j+)for(i=l;i<=3;i+)SCanfC, &ai j);/*输入8矩阵的元for(d=0, k=l;k<=4;k+)/*输入b矩阵的元/*打印a矩阵*/*打印b矩阵*/素*/Printf(ZZ输入 b 矩阵:r);for(i=l;i<=4;i+) for(j=l;j<=2;j+)SCanfC%d", &bi j);素*/Printf (,za 矩阵:); for(i=l;i<=3;i+)for(j=
10、lJ<=4J+)PrintfC,%3d,z, ai j);Printfr W) ; Printf (,zb 矩阵:W);for(i=l;i<=4;i+) for(j=l;j<=2;j+)Printf("%3d", bij);PrintfrW);Printfra, b 矩阵之积:n);for(i=l;i<=3;i+)for(j=lJ<=2J+)d+=ai k*bk j ;*求和计算积矩阵元素d(i, j) */*打印a, b积矩阵Printf("%6d", d);元素d */PrintfrW) ;6.2.4杨辉三角形3.程序设
11、计与运行/*杨辉三角形*/main ()int n, i, j, k, a20 20;SCanf(%d: &n);for(i=l;i<=n;i+)*确定初始递推得到每一数组/*控制输出ail=l;aii=l;条件*/for(i=3;i<=n;i+) for(j=2;j<=i-l;j+) ai j=aiT jT+aiT j; 元素*/for(i=l;i<=n;i+)n行*/printfnO;for(k=l;k<=40-3*i;k+) Printfr );for(j=l;j<=i;j+)*控制输出第i行的i个数组元素6. 3. 1素6. 3. 16. 3
12、.26. 3.2for(t=0;t<=50;t+)/*变量t为2元币的张数*/for (f二0;f<二20;f+)/*变量f为5元币的张数*/n二Ioo-f*5-t*2;/*变量n为1元币的张数*/Printf (,%6d,z, ai j) ;猴子爬山/*猴子爬山n级,一步跨1级或3级台阶*/main ()int k, n;IOng f1000;Printf (,请输入台阶总数n:");SCanf ("%d", &n);fl=l;f=l;f3=2;/*数组元素赋初值*/for(k=4;k<=n;k+)fk=fk-l÷fk-3;/
13、*按递推关系实施递推*/Printf("s二%ld", fn);整币兑零main()int X, f, t, n;x=0;if(n>=0) x+;*变量n为非负时,用X统计兑零种数*/Printf ("%d", x);6. 3.3整数拆分/*连续数1-ms组合SS */WinCIUde <stdio. h>define MAXN 100int aMAXN, t, n=0;COmb (int m, int k, int S) /* 建立递归函数 COmb (m, k, S) */it i, j;for(i=m;i>=k;i-)ak=
14、i;if (k>l)comb(il, kl, S);else for (t=0, j=a ; j>0; j)t=t+aj;if (t=s) n+;Printf( %d=j, , S) ; * 满足条件时输出*/for (j=a ; j>l; j)printf ("%2d+", aj) ; Printf (z,%2dnz, al); main ()int ms, ss, i, h, k, Wmil, UTmax;SCanf ("%d, %d", &ms, &SS);for(h=0, i=l;i<=ms;i+)h=h+
15、i;if(h>ss) (WmaX=il;break;for (h=0, i=l;i<=ms;i+)h=h+ (msi+l) ; if (h>ss) wmin二iT ; break;for(k二Wmin;k二WmaX;k+)a=k; COmb (ms, k, SS) ;Printfrn=%dn,n); * 输出拆分种数n */6. 4.1分类统计main ()int k, m, sm, i, j, h, t, f 1000, s 9, n9, d10 100J;float x;Sm=0;PrirltfC请输入m个分数:n");SCanf ("%d"
16、, &m);for(k=l;k<=m;k+)printfC请输入第%d个数:,k);SCanf (,%dz, &f k);sm+=f k ;* SnI 统计总分 */t=fk10;if(t<6) t=5;辻(t>9) t=9;/*计算确定分类号t */st+=fk; nt÷÷ dtnt二fk;Printf C所有%d个原始数据为:r,m);for (k=l;k<=m;k+)printf%4d fk) ;/*每行10个打印原始数据*/if(k%10=0) Printf("n");PriIltf ("n&qu
17、ot;);for (t=5;t<=9;t+)for(i=l;i<=nt-l;i+)*分段按逐个比较法从小到大排序*/for(j=i+l; j<=ntj+)if(dti>dtj)h=dt i ;dt i=dt j ;dt j=hjfor (t=9;t>=5;t-)printf(,z%d段共%3d个数据,从小到大依次为:,t, nt); for (k=l;k<=nt;k+)printf("%4d", dtk);x=(float)stnt;Printf (,该段平均分为:8. 2fr, x) ;X=Sni/m;Printf (所有%d个数据的平
18、均值为:8. 2fn, m, x) ; 6. 4.2大赛现场统分/*竞赛现场统分排序*/WinCIUde<stdio. h>ttinclude<math. h>main()int i, j, n, m, u, sh40;float max, min, uf, Sf40, f40_20;Printf (,请输入选手个数(Kn<40):");SCanf ("%d", &n);Printfr请输入评委个数(2<m<20) : O ;SCanf("%d, &m);for(i=l;i<=n;i+)*现
19、场为选手评分,报分*/printf (z,n第d个上场选手编号为:",i);SCanf&shi);sf iJ=0; max=0; Inin=IOOOO;/ *数组元素与变量赋初值*/for(j=l;j<=m;j+)printfC第d个评委评分为:,j);SCanf ("%f", &fi j);sfi+=fij;if (max<f i j) max=f i j;辻(Inin>fi j) min=f i j ;Printf (z, 去掉一个最高分:. 2fz, max);Printf (z, 去掉一个最低分:. 2f, min);sf
20、 ij = (sf ij-ma-min)/(m2) ;* i十算第 i 个选手的最后得分*/Printf (,n 编号为%d 号选手",shi);Printf (z,最后得分为:. 2fnz, sf i) ;for(i=l;i<=n-l;i+)/*选手最后得分按冒泡法排序,打印名次表*/for(j=l;j<=n-i;j+)if (sf j<sf j+l)uf=sfj;sfj二sfj+l ;sfj+l=uf; /* 交换 Sf同时交换Sh */u=shj ;shj二shj+l ;shj+l=u;Printfrn参赛选手得分名次表:);/*输出名次表*/Printfr选
21、手编号得分名次);for(i=l;i<=n;i+)Printf (,n %d%. 3f %d", shi, sf i, i);PrintfrW);Printf Cnn竞赛现场统分结束,谢谢!n");6. 4.3数制转换/*十进制整数转换为P进制*/main ()long n; int c, m, k, p, s100 ; Char r 16;r10= A,;讥11二'B'讥12二'C'r13二'D'讥14二'E' ;r15= F,;m=0;Printf (请输入十进制数n:);SCanf("%l
22、d", &n);Printf (,n 请输入转换数制 P (216):");SCanf(%d: &p);Printf C (%Id) IO= (”, n);Wh订e(n!=0)/*实施除P取余/*从后往前逐位/*超过9时打印相c=n%p;n=nP;m+;sm=c;*/for(k=m;k>=l;k-)打印输出*/if (sk>9) PriIltf ("%c", rsk);应字母*/else Printf("%d", sk);Printf (")%dn", P);*十进制小数转换为P进制*/
23、main ()float n; int c, m, k, p, t, S 100; Char r 16;r10= A,;讥11二'B'讥12二'C ;r13= D, ;r14二'E' ;r15= F,;m=0;Printfrn请输入十进制纯小数n:);SCanf(%f: &n);Printfrn请输入转换数制p(2T6):);SCanf("%d: &p);Printfrn请输入最多转换的位数t : );SCanf("%d", &t);Printf (" (%f) IO=(0. ",
24、 n);WhiIe(n!=0 && m<t)n=n; c=n; n=nc; m+; s mJ =C;/* 实施乘 P 取整 */印输出*/for (k=l;k<=m;k+)/*从前往后逐位打if (sk>9) Printf ("%c", rsk) ;* 每一位超过9时打印相应字母*/else Printf (z,%d,z, sk);Printf (")%dn", P);6. 4.4真分数序列/*求分母为S, b的最简真分数的增序列*/main ()int a, b, k, n, i, j, h, t, u, C 3000
25、, d3000;SCanf (,%d, %d' &a, &b) ;*输入区间的上下限*/SCanf (,%d,j &k) ;/* 输入指定序号 k */n=0;for(j=a;j<=b;j+)for(i=l;i<=j-l;i+)for(t=0, u=2;u<=i;u+)if(j%u=0 && i%u=0) t=l;break; * 分子分母有公因数舍去*/if (t=0) n+ ;cn=i;d n =j;法排序*/for(j=l;j<=n-i;j+)for(i=l;i<=n-l;i+)* 应用冒泡if(cj*dj+l
26、>cj+l*dj)* 若c(j)d(j)>c(j+l)d(j+l),交换 */h=cj ;cj二cj+l ;cj+lj=h;h=dj;dj=dj+l;dj+l=h;Printf ("n=%d n", n);Printf ("%d:%d/%d n", k, C k, dk);6. 5. 1优美乘积main ()long int x, y, t, i, k, m4, f 11, a, b, c, n=0;for(a=2;a<=98;a+)for (b=102;b<=9876;b+)* 对 a, b 实施穷举*/c=a*b;mlj=a;
27、m2=b;m3=c;for(i=0;i<=9;i+) fi=0;for (k=l;k<=3;k+)y=mk;Wh订e(y>0)x=y%10;fx =fx+l;y=y10;* 分离数字,f辻(fi!=l) t=l; /*检验数字0-9各只出现一次*/if(t=0)printf (zz%31d*%41d=%51d ", a, b, c) ;n+; /* 用 n统计个数*/if (n%4=0) Printf ("r) ;Printf (z,n n=%d. n", n);6.5.2优美和/*优美和程序*/main()int a, b, c, x, y,
28、t, i, k, m4, f 11, n=0;for(a=10;a<=987;a+)for (b=102;b<=9876;b+)* 对 a, b 实施穷举*/c=a+b; m 1 =a; m 2 =b; m 3 =c;for(i=0;i<=9;i+) fi=0;for (k=l;k<=3;k+)y=mk;Wh订e(y>0)x=y%10; f x =f x +1; y=y10; * 分离数字,用 f数组统计*/for (t=0, i=0;i<=9;i+)/*检验数字O9是否各出现一次*/if (t=0 && a<b)printf (,%3
29、d+%4d=%4d , a, b, C) ;n+;/* 打印,用 n统计个数*/if(n%5=0) Printf ("n");Printf ("n n=%d. n", n);6. 5. 3桥本等式/*桥本等式探求*/main() int g, i, j, k, n, a10j ; IOng ml, m2, m3;i=l;al=l;n=O;Wh订e (1)g=l;for (k=il;k>=l;k-)辻(ai=ak) g=0;/* 两数相同,标记g=0 */if (i=9 && g=l && al<a4)ml=a2
30、*10+a3 ;m2=a5*10+a6 ;m3=a8*10+a9;if (all*m2*m3+a4細l*m3=a7J*ml*m2)* 判断是否满足等式*/fk=fk10;的右边零*/fk=fk%lOOOO;)右边四位*/Printf (,n f%d=%d ", n, f n%10);6. 6. 2筛法求素数/*筛法求指定区间上的素数*/#inClUdeZ'math, h"main() IOng int c, d, i, j, k;StatiC IOng int a11000;int e, n;Printf (,求区间c, d上的素数n");Printf (
31、,请输入 c, d(c>2):");SCanf (,z%ld, %ld,z, &c, &d);if (c%2=0) c+;e=(d-c)/2;i=l;e+1个奇数*/WhiIe (i<=sqrt (Ci)筛选素数*/*除去fk/* 取 fk/*确定区间上/* 在c, d中i=i+2J=i;/*筛去标记-1/*输出所得素Wh 订 e (j<=d)j=j+2*i; if(j>=c) a(j-c)/2=-l;*/for(n=O, k=O;k<=e;k+)if (ak !=-l)数*/n+; Printfr%ld ", c+2*k);i
32、f(n%10=0) Printf ("n");Printf (,n%ld, %ld共%d 个素数.n”, c, d, n);6. 6.3最小的连续n个合数/*求最小的连续n个合数*/#incIude"math, h"main () IOng int c, d, f, g, i, j, k, m, x;IOng int a11000;int e, n, s, u, t;Printf(ZZ求最小的n个连续合数,);Printf ("输入 n(2-100):");SCanf ("%d", &n);/*在c,d中筛选素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年城市别墅装修改造服务协议
- 2024水电项目工程承包协议范本
- 2024年酒店用品买卖协议
- 2024年房屋租赁三方协议样本
- 店铺装修设计与施工一体化协议模板
- 2024年度劳动力成本协议样本
- DB11∕T 1697-2019 动力锂离子蓄电池制造业绿色工厂评价要求
- 2024年度中央空调系统翻新工程协议
- 2024商业采购协议模板全面指南
- 2024年辅导班家长服务协议
- 水系统中央空调工程材料清单
- 小学六年级数学上册口算题300道(全)
- 《干粉灭火器检查卡》
- 校园监控值班记录表(共2页)
- 试桩施工方案 (完整版)
- 走中国工业化道路的思想及成就
- ESTIC-AU40使用说明书(中文100版)(共138页)
- 河北省2012土建定额说明及计算规则(含定额总说明)解读
- Prolog语言(耐心看完-你就入门了)
- 保霸线外加电流深井阳极地床阴极保护工程施工方案
- 蓝色商务大气感恩同行集团公司20周年庆典PPT模板
评论
0/150
提交评论