2023年C编程实例.pdf
《2023年C编程实例.pdf》由会员分享,可在线阅读,更多相关《2023年C编程实例.pdf(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、例313 求 Fibonacci 数列前 40 个数。这个数列有如下特点:第 1、2 个数为 1、1。从第 3 个数开始,每个数是其前面两个数之和。#include#include usingnamespacestd;intmain()longf1,f2;inti;f1=f2=1;for(i=1;i=20;i+)/设备输出字段宽度为 12,每次输出两个数 coutsetw(12)f1setw(12)f2;/每输出完 4 个数后换行,使每行输出 4 个数 if(i%2=0)coutendl;f1=f1+f2;/左边的 f1 代表第 3 个数,是第 1、2 个数之和 f2=f2+f1;/左边的 f
2、2 代表第 4 个数,是第 2、3 个数之和 return0;例 314 100200 间的素数#include#include#include usingnamespacestd;intmain()intm,k,i,n=0;boolprime;for(m=101;m=200;m=m+2)prime=true;k=int(sqrt(m);for(i=2;i=k;i+)if(m%i=0)prime=false;break;if(prime)coutsetw(5)m;n=n+1;if(n%10=0)coutendl;间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项
3、式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两 coutendl;return0;例 315 译密码#include usingnamespacestd;intmain()charc;while(c=getchar()!=n)if(c=a&c=A&cZ&cz)c=c-26;coutc;coutendl;return0;习题:16、统计个数#include 间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数
4、的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两usingnamespacestd;intmain()charc;intletters=0,space=0,digit=0,other=0;coutenteroneline:=a&c=A&c=0&c=9)digit+;else other+;coutletter:letters,space:space,digit:digit,other:otherendl
5、;return0;17、求 Sn=a+aa+aaa+aaa(n 个 a)的值,n 由键盘输入。#include usingnamespacestd;intmain()inta,n,i=1,sn=0,tn=0;间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两coutan;while(i=n)tn=tn+a;/赋值后的 tn 为 i 个 a 组
6、成数的值 sn=sn+tn;/赋值后的 sn 为多项式前 i 项之和 a=a*10;+i;couta+aa+aaa+.=snendl;return0;18、.求 1!+2!+20!、#include usingnamespacestd;intmain()floats=0,t=1;intn;for(n=1;n=20;n+)t=t*n;/求 n!s=s+t;/将各项累加 cout1!+2!+.+20!=sendl;return0;间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一
7、行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两 19、求“水仙花数”例 153=13+33+53#include usingnamespacestd;intmain()inti,j,k,n;coutnarcissusnumbersare:endl;for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)coutn;coutendl;return0;#include usingnamespacestd;intmain()int
8、m,s,i;for(m=2;m1000;m+)s=0;for(i=1;im;i+)间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两if(m%i)=0)s=s+i;if(s=m)coutmisa 完数endl;coutitsfactorsare:;for(i=1;im;i+)if(m%i=0)couti;coutendl;return0;21
9、、2/1,3/2,5/3,8/5,13/8,21/13,前 20 项之和#include usingnamespacestd;intmain()inti,t,n=20;doublea=2,b=1,s=0;for(i=1;i=n;i+)s=s+a/b;t=a;a=a+b;/将前一项分子与分母之和作为下一项的分子 b=t;/将前一项的分子作为下一项的分母 coutsum=sendl;return0;间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小
10、公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两 24、输出图形#include usingnamespacestd;intmain()inti,k;for(i=0;i=3;i+)/输出上面 4 行*号 for(k=0;k=2*i;k+)cout*;/输出*号 coutendl;/输出完一行*号后换行 for(i=0;i=2;i+)/输出下面 3 行*号 for(k=0;k=4-2*i;k+)cout*;/输出*号 coutendl;/输出完一行*号后换行 return0;习题:1、求最大公约数和最小公倍数,用主函数条用两个函数#incl
11、ude usingnamespacestd;intmain()inthcf(int,int);间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两intlcd(int,int,int);intu,v,h,l;cinuv;h=hcf(u,v);l=lcd(u,v,h);return0;inthcf(intu,intv)intt,r;if(vu)t
12、=u;u=v;v=t;while(r=u%v)!=0)u=v;v=r;return(v);intlcd(intu,intv,inth)return(u*v/h);3、判别素数的函数#include usingnamespacestd;intmain()间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两intprime(int);/*函数原型声
13、明*/intn;coutn;if(prime(n)coutnisaprime.endl;else coutnisnotaprime.endl;return0;intprime(intn)intflag=1,i;for(i=2;in/2&flag=1;i+)if(n%i=0)flag=0;return(flag);4、.求 a!+b!+c!的值,用一个函数 fac(n)求 n!。4#include usingnamespacestd;intmain()intfac(int);inta,b,c,sum=0;coutabc;sum=sum+fac(a)+fac(b)+fac(c);couta!+b!
14、+c!=sumendl;return0;intfac(intn)intf=1;for(inti=1;i=n;i+)f=f*i;returnf;7、.验证哥德巴赫猜想:一个不小于 6 的偶数可以表示为两个素数之和。7#include#include usingnamespacestd;intmain()voidgodbaha(int);intn;coutn;godbaha(n);return0;voidgodbaha(intn)间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一
15、行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两intprime(int);inta,b;for(a=3;a=n/2;a=a+2)if(prime(a)b=n-a;if(prime(b)coutn=a+bendl;intprime(intm)inti,k=sqrt(m);for(i=2;ik)return1;elsereturn0;11、用递归方法求 f(n)=12+22+n2#include usingnamespacestd;intmain()intf(int);intn,s;coutn;间的素数例译密
16、码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两s=f(n);coutTheresultissendl;return0;intf(intn)if(n=1)return1;else return(n*n+f(n-1);例 52 用数组 Fibonacci 数列#include#include usingnamespacestd;intmain()inti;
17、intf20=1,1;for(i=2;i20;i+)fi=fi-2+fi-1;for(i=0;i20;i+)if(i%5=0)coutendl;coutsetw(8)fi;coutendl;间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两return0;例 5.3 用冒泡法对 10 个数排序#include usingnamespacest
18、d;intmain()inta10;inti,j,t;coutinput10numbers:endl;for(i=0;iai;coutendl;for(j=0;j9;j+)/共进行 9 趟比较 for(i=0;iai+1)/如果前面的数大于后面的数 t=ai;ai=ai+1;ai+1=t;/交换两个数的位置,使小数上浮 coutthesortednumbers:endl;for(i=0;i10;i+)/输出 10 个数 coutai;coutendl;return0;例 54 将二维数组行列元素互换,存到另一个数组中 a=123 56b=14 间的素数例译密码习题统计个数求个的值由键盘输入赋值
19、后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两 25 36#include usingnamespacestd;intmain()inta23=1,2,3,4,5,6;intb32,i,j;coutarraya:endl;for(i=0;i=1;i+)for(j=0;j=2;j+)coutaij;bji=aij;coutendl;coutarrayb:“endl;for(i=0;i=2;
20、i+)for(j=0;j=1;j+)coutbij;coutendl;return0;例 55 求 34 二维数组中最大元素值及其行列号#include 间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两usingnamespacestd;intmain()inti,j,row=0,colum=0,max;inta34=5,12,23,56,
21、19,28,37,46,-12,-34,6,8;max=a00;/使 max 开始时取 a00的值 for(i=0;i=2;i+)/从第 0 行第 2 行 for(j=0;jmax)/如果某元素大于 max max=aij;/max 将取该元素的值 row=i;/记下该元素的行号 i colum=j;/记下该元素的列号 j coutmax=max,row=row,colum=columendl;return0;例 5.7 用选择法对数组中 10 个整数按由小到大排序#include usingnamespacestd;intmain()voidselect_sort(intarray,intn
22、);/函数声明 inta10,i;coutentertheoriginlarray:endl;for(i=0;iai;coutendl;select_sort(a,10);/函数调用,数组名作实参 coutthesortedarray:endl;for(i=0;i10;i+)/输出 10 个已排好序的数 coutai;coutendl;return0;voidselect_sort(intarray,intn)/形参 array 是数组名 inti,j,k,t;for(i=0;in-1;i+)k=i;for(j=i+1;jn;j+)if(arrayjarrayk)k=j;t=arrayk;ar
23、rayk=arrayi;arrayi=t;习题:6、打印出杨辉三角(要求打印出 10 行)#include#include usingnamespacestd;间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两intmain()constintn=11;inti,j,ann;for(i=1;in;i+)aii=1;ai1=1;for(i=3;
24、in;i+)for(j=2;j=i-1;j+)aij=ai-1j-1+ai-1j;for(i=1;in;i+)for(j=1;j=i;j+)coutsetw(5)aij;coutendl;coutendl;return0;C语言部分 1.编程计算 1,1+2,1+2+3,1+2+3+n 各项值的积 答案:#include usingnamespacestd;voidmain()间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小公数可以表示为两个
25、素数之和用递归方法求例用数组数列例用冒泡法对个数排序输入共进行趟比较在每趟中要进行次两 inti,n,mul=1,sum=0;coutn;for(i=1;i=n;i+)sum+=i;mul*=sum;coutThemultipleis:mulj)returni;else returnj;charmax(charc1,charc2,charc3)charch;if(c1c2)ch=c1;else 间的素数例译密码习题统计个数求个的值由键盘输入赋值后的为个组成数的值赋值后的为多项式前项之和求求将各项出图形输出上面行号输出号输出完一行号后换行输出下面行号输出号输出完一行号后换行习题求最大公约数和最小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 编程 实例
限制150内