c++编程初学者练习题以及解析汇报代码.docx

上传人:b****2 文档编号:1862485 上传时间:2022-10-24 格式:DOCX 页数:52 大小:25.80KB
下载 相关 举报
c++编程初学者练习题以及解析汇报代码.docx_第1页
第1页 / 共52页
c++编程初学者练习题以及解析汇报代码.docx_第2页
第2页 / 共52页
c++编程初学者练习题以及解析汇报代码.docx_第3页
第3页 / 共52页
c++编程初学者练习题以及解析汇报代码.docx_第4页
第4页 / 共52页
c++编程初学者练习题以及解析汇报代码.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

c++编程初学者练习题以及解析汇报代码.docx

《c++编程初学者练习题以及解析汇报代码.docx》由会员分享,可在线阅读,更多相关《c++编程初学者练习题以及解析汇报代码.docx(52页珍藏版)》请在冰豆网上搜索。

c++编程初学者练习题以及解析汇报代码.docx

c++编程初学者练习题以及解析汇报代码

程序设计基本功练习题

输入3个数,求最大数。

将百分制成绩转换成五级制成绩。

(分别用if、嵌套、switch完成)

信点兵:

有一个数,用3除余2;用5除余3;用7除余2;求满足条件的最小数。

求1+2+3+…+100

求1-2+3-4+…-100

求1+1/2+1/3+…+1/100

求输入n,求n!

(需判断n的合法性)

求1!

+2!

+3!

+…+10!

求1+1/2!

+1/3!

+…1/n!

,直到1/n!

<1E-5为止

用公式求ex=1+x+x2/2!

+x3/3!

+…+xn/n!

n取20。

假定f1=1,f2=1;fn=fn-1+fn-2。

输出前50项的值,且要求每行输出5个值。

判断一个数是否为素数

输出2-1000中的素数及个数。

且要求每行输出8个素数。

输入两个整数,求最大公约数和最小公倍数。

输入一个非0的一位整数x,输入一个整数n。

输出n位整数xxx…x。

输入n、a。

求sn=a+aa+aaa+a…a,其中a是一个非0的一位整数。

输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值。

一个正整数如果恰好等于它的因子之和,这个数称为“完数”,如6=1+2+3。

求1000以所有的完数,每行5个。

用迭代法求x=a的平方根。

求平方根的迭代公式为xn+1=0.5(xn+a/xn)。

要求前后两次求出的x的差的绝对值小于1e-5为止。

用牛顿迭代法求方程在1.5附近的根2x3-4x2+3x-6=0

用二分法求上面的方程在(-10,10)之间的根。

打印形状为直角三角形的九九乘法表。

百马百担问题。

有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马多少匹,共有多少组解?

数列1,2,2,3,3,3,4,4,4,4,5,……

问第100是多少?

*1.3求任意一个整数的十位上的数字。

1.4输入三个实数,判断能否构成三角形;若能,再说明是何种类型的三角形。

1.5输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根。

*1.6将百分制成绩转换为五级制成绩

1.7输入年月日,判断它是该年的第多少天。

*1.8假定2007年的一月一日是星期三,求2009年的4月20日是星期几。

1.9我国古代著名的子定理也称信点兵。

用现代语言讲是:

有一个数,用3除余2,用5除余3,用7除余2,求满足条件的最小数。

*2.1求一个整数的各个数位上的数字之和并反序输出。

2.2求1+2+3+……前n项的和。

*2.3求1-3+5-7+……的前100项的和。

2.4求1+(1+2)+(1+2+3)+(1+2+3+4)+……的前n项的和

*2.5求n!

2.6求1!

+2!

+3!

+……+n!

2.7求1!

-3!

+5!

-7!

+……前n项的和

*2.8求1*2+2*3+3*4+……前n项的和

*2.9从键盘输入一个整数,判断它是否为素数

2.10求3到1000之间的所有素数的和。

2.11验证哥德巴赫猜想:

一个大于2的偶数总可以分解成两个素数的和。

*2.12设s=1+1/2+1/3+…+1/n,求与8最接近的s的值及与之对应的n值。

2.13假定2007年的一月一日是星期三,打印出该年的日历(仿照台历或挂历样式)

3.1鸡兔同笼一共有40只脚,求鸡兔各有多少只,总共有多少种组合。

*3.2换零钱.把一元钱全兑换成硬币(1分2分5分),有多少种兑换方法

 

/*

//输入3个数,求最大数。

#include

voidmain()

{

inta,b,c,max;

cout<<"请输入三个整数。

";

cin>>a>>b>>c;

if(a>b)

max=a;

else

if(b>c)

max=b;

else

max=c;

cout<

\n";

}

*/

/*

//将百分制成绩转换成五级制成绩。

(分别用if、嵌套、switch完成)

#include

voidmain()

{

while

(1)

{

floatscore;

cout<<"请输入学生成绩";

cin>>score;

if(score>100)

cout<<"输入有误\n"<

else

if(score>90)

cout<<"优\n"<

else

if(score>80)

cout<<"良\n";

else

if(score>70)

cout<<"中\n";

else

if(score>=60)

cout<<"及格\n";

else

cout<<"不及格,要努力!

\n";

cout<

}

}

*/

/*

//信点兵:

有一个数,用3除余2;用5除余3;用7除余2;求满足条件的最小数。

#include

voidmain()

{

intx,a;

for(x=0;x<100;x++)

{

if

((x%3==2)&&(x%5==3)&&(x%7==2))

{

cout<

cout<

break;

}

}

}

*/

/*

//求1+2+3+…+100

#include

voidmain()

{

intx,sum=0;

for(x=1;x<=100;x++)

{

sum+=x;

}

cout<

cout<

}*/

//另一种方法

/*

#include

voidmain()

{

intsum;

sum=(1+100)*(100/2);

cout<

}

*/

/*

//求1-2+3-4+…-100

#include

voidmain()

{

intx,sum=0,sum1=0,sum2=0;

for(x=1;x<=100;x++,x++)

{

sum1+=x;

}

for(x=-2;x>=-100;x--,x--)

{

sum2+=x;

}

sum=sum1+sum2;

cout<<"1+3+5…+98="<

cout<<"-2-4-6…-100="<

cout<<"1-2+3-4…-100="<

cout<

}

*/

/*

//求1+1/2+1/3+…+1/100

#include

voidmain()

{

floatn,m,sum=0;

for(n=1;n<=100;n++)

{

m=1/n;

cout<<"1/"<

sum+=m;

cout<<"1/1+…+"<<"1/"<

}

cout<<"*****************************************\n";

cout<<"1/1+…+1/100="<<'\t'<

}

*/

/*

//求输入n,求n!

(需判断n的合法性)

#include

longfact(intn)//例用递归调用求n的阶乘。

{

if(n==0)

return1;

return

fact(n-1)*n;

}

voidmain()

{

while

(1)

{

intx,y,n;

cout<<"请输入一个整数:

\n";

cin>>x;

fact(x);

cout<

}

}

*/

 

/*

//求1!

+2!

+3!

+…+10!

#include

longdoublefact(intn)

{

if(n==0)return1;

returnfact(n-1)*n;

}

voidmain()

{

intx,y,sum=0;

for(x=1;x<=10;x++)

{

fact(x);

y=fact(x);

sum+=y;

cout<<"x!

="<

}

cout<<"1!

+2!

+…10!

="<

}

*/

/*

//求1+1/2!

+1/3!

+…1/n!

,直到1/n!

<1E-5为止

#include

longdoublefact(intn)

{

if(n==0)return1;

returnfact(n-1)*n;

}

voidmain()

{

while

(1)

{

longdoublex,y,m,n,sum1=0,sum2=0;//x控制循环,y接收阶乘值,m接收1/n!

值,n待求阶乘的数,

//sum1接收阶乘之和,sum2接收阶乘分之一的和。

cout<<"请输入一个整数:

";//该数为n,即最大数。

cin>>n;

for(x=1;x<=n;x++)

{

fact(x);

y=fact(x);

m=1/y;

cout<

="<<'\t'<

cout<<"1/"<

="<<'\t'<

sum1+=y;

sum2+=m;

}

cout<

cout<<"****************************************************\n";

cout<<"1!

+…+"<

="<<'\t'<

cout<<"1/1!

+…+"<<"1/"<

="<<'\t'<

cout<<"****************************************************\n";

cout<<"****************************************************\n\n";

//if(m<1E-5)break;//控制结束。

//若将此句移动for()语句前呢?

}

}

*/

/*

//用公式求ex=1+x+x2/2!

+x3/3!

+…+xn/n!

n取20。

 

*/

 

/*

//假定f1=1,f2=1;fn=f(n-1)+f(n-2)。

输出前50项的值,且要求每行输出5个值。

//此程序运算速度非常慢,效率太低,应想法改进。

#include

longfibo(intn);

voidmain()

{

inta;

longf;

cin>>a;//用a来接受50的输入。

intn;

for(n=1;n<=a;n++)

{

fibo(n);

f=fibo(n);

cout<<"f("<

if(n%5==0)

{

cout<

}

}

}

longfibo(intn)

{

if(n==1)

return1;

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

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1