c++基础习题 附答案.docx
- 文档编号:6884523
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:20
- 大小:27.22KB
c++基础习题 附答案.docx
《c++基础习题 附答案.docx》由会员分享,可在线阅读,更多相关《c++基础习题 附答案.docx(20页珍藏版)》请在冰豆网上搜索。
c++基础习题附答案
1用do-while语句求1~100的和
2编密码。
将字母变成其后4个W变成A符号不变
3输入一行字符,分别统计出其中英文字母,空格,数字,和其他字符的个数
4求SN=A+AA+AAA+…+AAAA…N…A之值,其中A是一个数字,N由键盘输入
5求
6输出所有水仙花数,
7编程找出1000之内所有完数并按下面格式输出:
6,itsfactorsare1,2,3
8一分数序列
,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项和
9猴子吃桃,一天吃一半加一,到10天只有1桃子求一共多少桃子
10用迭代法求x=
.求平方根的迭代公式为
=1/2(
+a/
)要求前后两次求出的差的绝对值小于
11输出以下图案:
*
***
*****
*******
*****
***
*
12用递归法求n!
13写2个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用两个函数,并输出结果,两个整数用键盘输入
14求方程a
+bx+c=0的根,用3个函数分别求当
-4ac大于0,等于0,和小于0时的根,并输出结果。
从主函数输入a,b,c的值
15写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息
16求a!
+b!
+c!
的值,用一个函数fac(n)求n!
.a,b,c的值由主函数输入,最终得到的值在主函数中输出。
17验证哥德巴赫猜想:
一个不小于6的偶数可以表示为两个素数之和。
在主函数中输入一个不小于6的偶数n,然后调用函数gotbaha,在gotbaha函数中再调用prime函数,prime函数的作用是判别一个数是否为素数。
在gotbaha函数中输出一下形式的结果:
34=3+31
18用递归法求f(n)=
,n的值由主函数输入
19用数组来处理求Fibonacci数列问题
20编写程序,用气泡法对10个数排序(由小到大)
21将一个二维数组行和列元素互换,存到另一个二维数组中。
22有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号
23用选择法对数组中10个整数按由大到小排序
24用选择法对10个整数排序
25求一个3*3矩阵对角线元素之和
26打印一下的杨辉三角形(10行)
1
11
121
1331
...
1
#include
usingnamespacestd;
intmain()
{inti=1,sum=0;
do{sum=sum+i;
i++;}
while(i<=100);
cout<<“sum=”< ruture0; } 2 #include usingnamespacestd; intmain() {charc; while((c=getchar())! =‘\n’) {if((c>=’a’&&c<=’z’)||(c>=’A’&&c<=’Z’)) {c=c+4; if(c>’Z’&&c<=’Z’+4||c>’z’)c=c-26; } cout< } cout< return0; } 3 #include usingnamespacestd; intmain() {charc; intletters=0,space=0,digit=0,other=0; cout<<"enteroneline: : "< while((c=getchar())! ='\n') {if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; elseif(c=='') space++; elseif(c>='0'&&c<='9') digit++; else other++; } cout<<"letter: "< "< "< "< return0; } 4 #include usingnamespacestd; intmain() {inta,n,i=1,sn=0,tn=0; cout<<"a,n=: "; cin>>a>>n; while(i<=n) {tn=tn+a;//赋值后的tn为i个a组成数的值 sn=sn+tn;//赋值后的sn为多项式前i项之和 a=a*10; ++i; } cout<<"a+aa+aaa+...="< return0; } 5 #include usingnamespacestd; intmain() {floats=0,t=1; intn; for(n=1;n<=20;n++) { t=t*n;//求n! s=s+t;//将各项累加 } cout<<"1! +2! +...+20! ="< return0; } 6 #include usingnamespacestd; intmain() {inti,j,k,n; cout<<"narcissusnumbersare: "< for(n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) cout< } cout< return0; } 7 #include usingnamespacestd; intmain() {intm,s,i; for(m=2;m<1000;m++) {s=0; for(i=1;i if((m%i)==0)s=s+i; if(s==m) {cout< cout<<"itsfactorsare: "; for(i=1;i if(m%i==0)cout< cout< } } return0; } 8 #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;//将前一项的分子作为下一项的分母 } cout<<"sum="< return0; } 9 #include usingnamespacestd; intmain() {intday,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2;//第1天的桃子数是第2天桃子数加1后的2倍 x2=x1; day--; } cout<<"total="< return0; } 10 #include #include usingnamespacestd; intmain() {floata,x0,x1; cout<<"enterapositivenumber: "; cin>>a;//输入a的值 x0=a/2; x1=(x0+a/x0)/2; do {x0=x1; x1=(x0+a/x0)/2; } while(fabs(x0-x1)>=1e-5); cout<<"Thesquarerootof"< return0; } 11 #include usingnamespacestd; intmain() {inti,k; for(i=0;i<=3;i++)//输出上面4行*号 {for(k=0;k<=2*i;k++) cout<<"*";//输出*号 cout< } for(i=0;i<=2;i++)//输出下面3行*号 {for(k=0;k<=4-2*i;k++) cout<<"*";//输出*号 cout< } return0; } 12 #include usingnamespacestd; longfac(int);//函数声明 intmain() { intn;//n为需要求阶乘的整数 longy;//y为存放n! 的变量 cout<<″pleaseinputaninteger: ″;//输入的提示 cin>>n;//输入n y=fac(n);//调用fac函数以求n! cout< =″< 的值 return0; } longfac(intn)//递归函数 { longf; if(n<0) {cout<<″n<0,dataerror! ″< f=-1;} elseif(n==0||n==1)f=1;//0! 和1! 的值为1 elsef=fac(n-1)*n;//n>1时,进行递归调用 returnf;//将f的值作为函数值返回 } 13 #include usingnamespacestd; intmain() {inthcf(int,int); intlcd(int,int,int); intu,v,h,l; cin>>u>>v; h=hcf(u,v); cout<<"H.C.F="< l=lcd(u,v,h); cout<<"L.C.D="< return0; } inthcf(intu,intv) {intt,r; if(v>u) {t=u;u=v;v=t;} while((r=u%v)! =0) {u=v; v=r;} return(v); } intlcd(intu,intv,inth) {return(u*v/h); } 14 #include #include usingnamespacestd; floatx1,x2,disc,p,q; intmain() {voidgreater_than_zero(float,float); voidequal_to_zero(float,float); voidsmaller_than_zero(float,float); floata,b,c; cout<<"inputa,b,c: "; cin>>a>>b>>c; disc=b*b-4*a*c; cout<<"root: "< if(disc>0) { greater_than_zero(a,b); cout<<"x1="< } elseif(disc==0) {equal_to_zero(a,b); cout<<"x1="< } else {smaller_than_zero(a,b); cout<<"x1="< cout<<"x2="< } return0; } voidgreater_than_zero(floata,floatb)/*定义一个函数,用来求disc>0时方程的根*/ {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); } voidequal_to_zero(floata,floatb)/*定义一个函数,用来求disc=0时方程的根*/ { x1=x2=(-b)/(2*a); } voidsmaller_than_zero(floata,floatb)/*定义一个函数,用来求disc<0时方程的根*/ { p=-b/(2*a); q=sqrt(-disc)/(2*a); } 15 #include usingnamespacestd; intmain() {intprime(int);/*函数原型声明*/ intn; cout<<"inputaninteger: "; cin>>n; if(prime(n)) cout< else cout< return0; } intprime(intn) {intflag=1,i; for(i=2;i if(n%i==0) flag=0; return(flag); } 16 #include usingnamespacestd; intmain() {intfac(int); inta,b,c,sum=0; cout<<"entera,b,c: "; cin>>a>>b>>c; sum=sum+fac(a)+fac(b)+fac(c); cout< +"< +"< ="< return0; } intfac(intn) {intf=1; for(inti=1;i<=n;i++) f=f*i; returnf; } 17 #include #include usingnamespacestd; intmain() {voidgodbaha(int); intn; cout<<"inputn: "; cin>>n; godbaha(n); return0; } voidgodbaha(intn) {intprime(int); inta,b; for(a=3;a<=n/2;a=a+2) {if(prime(a)) {b=n-a; if(prime(b)) cout< } } intprime(intm) {inti,k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k)return1; elsereturn0; } 18 #include usingnamespacestd; intmain() {intf(int); intn,s; cout<<"inputthenumbern: "; cin>>n; s=f(n); cout<<"Theresultis"< return0; } intf(intn) {; if(n==1) return1; else return(n*n+f(n-1)); } 19 #include #include usingnamespacestd; intmain() {inti; intf[20]={1,1}; for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) {if(i%5==0)cout< cout< } cout< return0; } 20 #include usingnamespacestd; intmain() {inta[10]; inti,j,t; cout<<”input10numbers: ”< for(i=0;j<9;j++) for(i=0;i<9;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} cout<<”thesortednumbers: ”< for(i=0;i<10;i++) cout< cout< return0; } 21 #include usingnamespacestd; intmain() { inta[2][3]={{1,2,3},{4,5,6}}; intb[3][2],I,j; cout<<“arraya: ”<,endl; for(i=0;i<=2;i++) for(j+0;j<=2;j++) {cout< } cout< } return0; } 22 #include usingnamespacestd; intmain() {inti,j,row=0,colum=0,max; inta[3][4]={{5,12,23,56,},{19,28,37,46},{-12,-34,6,8}}; max=a[0][0]; for(i=0;i<=2;i++) for(j=0;j<=3;j++) if(a[i][j]>max) {max=a[i][j]; row=i; colum=j; } cout<<”max=”< return0; } 23 #include usingnamespacestd; intmain() {voidselet_sort(intarray[],intn); inta[10],i; cout<<”entertheoriginlarray: ”< for(i=0;i<10;i++) cin>>a[i]; cout< selet_sort(a,10); cout<<“thesortedarray: ”< for(i=0;i<10;i++) cout< cout< return0; } voidselet_sort(intarray[],intn) {inti,j,k; fot(i=0;i {k=i; for(j=i+1;j if(array[j] t=array[k];array[k]=array[i];array[i]=t; } } 24 #include usingnamespacestd; //#include intmain() {inti,j,min,temp,a[11]; cout<<"enterdata: "< for(i=1;i<=10;i++) {cout<<"a["< cin>>a[i];//输入10个数 } cout< "< for(i=1;i<=10;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+基础习题 附答案 c+ 基础 习题 答案