程序设计基本功练习题 输入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位整数x x x…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
int a,b,c,max;
cout<<\请输入三个整数。\cin>>a>>b>>c; if(a>b) max=a; else
if(b>c) max=b; else max=c;
cout<
//将百分制成绩转换成五级制成绩。(分别用if、嵌套、switch完成) #include
while(1) {
float score;
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 int x,a; for(x=0;x<100;x++) { if ((x%3==2)&&(x%5==3)&&(x%7==2)) { cout< break; } } } */ /* //求1+2+3+…+100 #include int x,sum=0; for(x=1;x<=100;x++) { sum+=x; } cout< //另一种方法 /* #include int sum; sum=(1+100)*(100/2); cout< //求1-2+3-4+…-100 #include int x,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<<\正数之和 cout<<\6…-100=\负数之和 cout<<\4…-100=\总和 cout< } */ /* //求1+1/2+1/3+…+1/100 #include float n,m,sum=0; for(n=1;n<=100;n++) { m=1/n; cout<<\ sum+=m; cout<<\\\t'< cout<<\cout<<\\\t'< //求输入n,求n!(需判断n的合法性) #include long fact(int n)//例用递归调用求n的阶乘。 { if(n==0) return 1; return fact(n-1)*n; } void main() { while(1) { int x,y,n; cout<<\请输入一个整数:\\n\cin>>x; fact(x); cout<