C++编程题库.docx
- 文档编号:14191309
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:19
- 大小:300.57KB
C++编程题库.docx
《C++编程题库.docx》由会员分享,可在线阅读,更多相关《C++编程题库.docx(19页珍藏版)》请在冰点文库上搜索。
C++编程题库
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
输入一串字符串,以"?
"号结束,输出其中的字母个数和数字个数。
-------------------------------------------------------*/
#include
usingnamespacestd;
voidmain()
{
intnl=0,ng=0;
charch;
cin.get(ch);
while(ch!
='?
')
{
/**********Program**********/
if(ch>47&&ch<58)ng++;
elseif((ch>64&&ch<91)||(ch>96&&ch<123))nl++;
/**********End**********/
cin.get(ch);
}
cout<<"\nnl="< } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 给定一个较大的正整数,试编程分解质因数。 按如下格式输出12=2*2*3 -------------------------------------------------------*/ #include usingnamespacestd; voidmain() { intm,k,c=0; cout<<"请输入一个较大的正整数: "; cin>>m; k=2; cout< while(m! =1) { /**********Program**********/ while(m%k==0) {cout< m/=k; if(m! =1)cout<<"*"; } /**********End**********/ k++; } cout< } 题目: 歌德巴赫猜想指出: 任何一个充分大的偶数都可以表示为两个素数之和。 例如: 4=2+26=3+38=3+5……50=3+47 将4-50之间的所有偶数用两个素数之和表示。 判断一个整数是否为素数用函数完成。 -------------------------------------------------------*/ #include #include usingnamespacestd; /**********Program**********/ intprime(inti){if(i==2)returni; else{ inta,b=1; for(a=2;a if(i%a==0)return0; } returni; } } /**********End**********/ intmain(){ for(intn=4;n<=50;n+=2){ for(inti=2;i<=n/2;i++) if(prime(i)&&prime(n-i)) cout< } return0; } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 编写一个函数prn_pict(intm,intn),输出m行n列的图形, 图形的第一行由n个字符A组成,图形的第二行由n个B组成,依次递推。 用主函数调用执行。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; voidprn_pict(intm,intn) { /**********Program**********/ inta,b; charch; for(a=0;a for(b=0;b ch=65+a; cout< } cout< } /**********End**********/ } voidmain(void) { intm,n; cout<<"输入行数="; cin>>m; cout<<"输入列数="; cin>>n; prn_pict(m,n); } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 有一分数序列: 见公式图。 求出这个数列的前n项之和。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; voidmain(void) { doublesum;//数列的和 intn;//求和的项数 cout<<"n="; cin>>n; /**********Program**********/ intt; floata,b; a=2;b=1;sum=0; for(;n--;){ sum=sum+a/b; t=a;a=a+b;b=t; } /**********End**********/ cout<<"2/1+3/2+5/3+8/5+13/8+21/13...="< } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 编程打印由数字组成的三角形,例如,当行数为5时,输出下列图形: 1 22 333 4444 55555 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; voidmain(void) { intn;//n为三角形的行数 cout<<"行数="; cin>>n; /**********Program**********/ inta,b; charch; for(a=0;a for(b=0;b<=a;b++){ ch=49+a; cout< } cout< } /**********End**********/ } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 试编程求给定的一个正整数的位数 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; intbits(intn) { /**********Program**********/ inti; for(i=1;n/10;i++)n=n/10; returni; /**********End**********/ } voidmain() { intn; cout<<"n="; cin>>n; cout< } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(a*x)-x=0的一个实根。 (0 xn+1=cos(xn) 迭代步骤如下: (1)取x1初值为0.0。 (2)x0=x1,把x1的值赋给x0。 (3)x1=cos(a*x0),求出一个新的x1。 (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤 (2)。 (5)所求x1就是方程cos(a*x)-x=0的一个实根,做为函数值返回。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; #include floatfun(floata); /**********Program**********/ floatfun(floata){ floatx1=0.0,x0;{ do { x0=x1; x1=cos(a*x0); } while(fabs(x0-x1)>=1e-6); returnx1; } } /**********End**********/ voidmain() { floata; cout<<"输入a的值(0 "; cin>>a; cout<<"Root="< } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 完成如下分段函数,函数见图: 函数.JPG 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include #include usingnamespacestd; intmain(){ doublex,fx; cout<<"请输入x: "; cin>>x; /**********Program**********/ if(x>0&&x<=1) fx=cos(x)+3; elseif(x>1&&x<1.6) fx=sin(x)+x; elseif(x>=1.6&&x<3) fx=1+sqrt(x); /**********End**********/ cout<<"当x="< return0; } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; voidmain(void) { intnum; intsum;//存放整数num各位数字之和 intcount;//存放整数num的位数 cout<<"num="; cin>>num; cout<<"("; /**********Program**********/ /**********End**********/ cout<<")"< cout< cout< } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 电文加密的算法是: 将字母A变成F,a变成f,B变成G,b变成g,依次类推, V变成A,W变成B,等等。 其他字符不变。 从键盘输入一串电文,用函数将其加密,再在主函数中输出加密后的串。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; /**********Program**********/ charencryptionCH(chars){ if(s>=65&&s<=85) s+=5; elseif(s>85&&s<=90) s-=21; elseif(s>117&&s<=125) s-=21; elseif(s>=97&&s<=117) s+=5; returns; } /**********End**********/ voidmain() { chars; do { s=cin.get(); cout< }while(s! ='\n'); } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 编写一个函数min,返回三个整数形参中的最小值。 -------------------------------------------------------*/ #include usingnamespacestd; /**********Program**********/ floatmin(inta,intb,intc){ floatm; if(a<=b&&a<=c) m=a; elseif(b<=a&&b<=c) m=b; elseif(c<=a&&c<=b) m=c; returnm; } /**********End**********/ voidmain(void) { inta,b,c; cout<<"输入三个整数a,b,c="; cin>>a>>b>>c; cout<<"最小值="< } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 编写一个程序,从键盘输入a,op,b。 其中a,b为数值;op为字符,限制为+、-、*、/。 计算表达式aopb的值,并输出结果。 注意: 输出语句必须输出一个回车符号。 运行结果见图1,2,3 -------------------------------------------------------*/ #include usingnamespacestd; voidmain() {floata,b;charop; cout<<"Begincount: \n"; cin>>a>>op>>b; switch(op) { /**********Program**********/ case'+':
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 题库