




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、循环控制结构练习题1. 从键盘上输入一个正整数 n, 计算其阶乘 n!#include #include using namespacestd;int f( int n)int t = 1;for ( int i = n; i 0; i-)t = t*i;return t; ( 0的阶层为 1)int main()int n;cout n;cout endl;if (n 0)n = abs(n);cout n!= f(n);system( pause );return 0;2. 从键盘上输入一个正整数 n, 判断是否是素数 ? 法 1: #include #include using name
2、spacestd;void f( int n) int k = sqrt( n),i;for ( i = 2; i = k+1)cout n 是素数 endl;else cout n 不是素数 endl;int main()int n;cout n;f(n);system( pause );return 0;法2; #include #i ncludeusing namespacestd;bool f( int n) int k = sqrt(n), i;for (i = 2; i = k + 1) return 1;else return 0;int main()int n;cout n;f
3、(n);if (f(n)cout n 是素数 endl; else cout n 不是素数 endl; system( pause);return 0;3.26.2017bool f2( int n)int k=sqrt( n),i;for ( i=2;i=k+1) return 1;1int main()int n;while (1)cinn;if (n=0) break;if (f2(n)cout 是素数! endl;system( pause);return 03. 编写程序,输入一个整数,求该整数的各位数字和#in clude #in clude using namespacestd;
4、int f( int n)int t = 0;for (int i = n; i 0; i=i/10) t=i%1O+t;return t;int main()int n;cout n;if (n 0)n = abs(n);cout n的各位数字和为: f(n) system( pause);return 0;法二:int f( int n)if ( n 10) return n; else return (n % 10 + f(int main()int n;cout n;if (n 0)n = abs(n);cout n的各位数字和为: f(n) system( pause);return
5、 0;3.26.2017int f3( int n)n=abs( n);if (n10)return n;else return ( n%10)+f3( n/10);int main()int n;while (1)cinn;if (n=0) break; en dl;n / 10); en dl;cout f3( n);system( pause);return 0;3.编写程序,输入一个整数,求该整数的各位数字的乘积 法 一:#in elude using namespacestd;intf( intn)if (n 10)return n;elsereturn(n % 10 )* f( n
6、 / 10);int main()int n;cout n;n = abs( n);cout f(n);system( pause);return 0;法二:#include using namespacestd;int f( int n)int t = 1;for ( int i = n; i 0; i = i / 10)t = t*(i % 10);return t;int main()int n;cout n;n = abs( n);cout f(n);system( pause);return 0;3.26.2017int f4( int n)24 / 24n=abs( n);if (
7、n10)return n;else return ( n%10)*f3( n/10);int main()int n;while (1)cinn;if (n=0) break;cout f4( n);system( pause);return 0;4. 编写程序,输入一个整数,求该整数的各位数字的平方和 法一:#i nclude using namespacestd;int f( int n)int t = 0;for ( int i = n; i 0; i = i / 10)t = t+(i % 10)*(i%10);return t;int main()int n;cout n;n = a
8、bs( n);cout f(n);system( pause);return 0;法二:#includeusing namespacestd;int f( int n)if ( n 10) return n*n;else return ( n % 10)*( n % 10)+f( n / 10);int main()int n;cout n;n = abs( n);cout f(n);system( pause);return 0;3.27.2017 int f4( int n)n=abs( n);if (n10) return ( n%10)*( n%10)+f4( n/10); int m
9、ain()int n;while (1)cinn;if (n=0) break;cout vf4(n)ven dl;system( pause);return 0;5,若有5. 编写程序,输入一个整数,求该整数的各位上的数字是否包含数字 则输出是第几位有含数字5.#in clude using namespacestd;void f( int n)int j = 0;for ( int i = n; i 0; i = i / 10)j+; if (i % 10 = 5)cout j ;int main()int n;cout n;n = abs( n);cout 包含5的位置i为:;f(n);
10、cout 0;i=i/10,j+)|if (i%10=m)cout 第j+1位endl;int main()int n,m;while (1)cinnm;if (n=0) break;f5( n,m);system( pause);return 0;6. 编写程序输出一个平行四边行。注:边长为 10个*号void u()int i = 0;for ( int i = 1; i = 10; i+) cout setw( i);for (int j = 1; j = 10; j+) cout *;cout endl;3.27.2017void f6()for (int j=0;j10;j+) co
11、utsetw(20+j);for (int i=0;i10;i+)|cout *;cout e ndl;int main()int n,m;f6();system( pause);return 0;的前20项的和8. 编程计算:1 -345-357911法一:#i nclude using namespacestd;double f( double n)if ( n 0) if (n = 1) return 1;else return n / (2 * n - 1) + f( n - 1);int main()int n;cout n;n = abs( n);cout f(n);cout 0)
12、if (n=1)return 1;else return ( n/(2* n-1)+f7( n-1);int main()double n,m;cinn;cout 0; i = i / 10) if (i % 10 = 5)j+;cout vvjvve ndl;int main()int n;cout n;n = abs( n);cout 包含5的个数为:;f(n);cout endl;system( pause);return 0;10. 编写程序,输出所有含数字5且为77倍数的四位数。void J() for (int i=1000;i0;m=m/10)if (m % 10 = 5) co
13、ut i ; break ; int mai n()JO;System( “ pause” );return 0;11. 编写一程序,输入一个正整数n,求大于等于n的最小素数#inelude using namespacestd;|int main()int x, b, i, m, k;cout x;b = sqrt(x);for (i = 2; i = b+ 1) cout x endl;elsefor (m = x; m+)k = sqrt(m);for (i = 2; i = k + 1)cout m “ ; break;system( pause);return 0;法二:#inclu
14、deusing namespacestd;int main()int n, k, m,i, j;cout n;n=;for (i = n; i+)for (j=2; j*j= i)reak;cout i en dl; break;system( pause);return 0;12. 从键盘输入一个小于15的正整数,计算其阶乘。13. 编程计算1!+2!+3!+.+n!。n从键盘输入。3.27.2017int sum2( int n)int sum=0,t=1;for (int j=1;j= n;j+)t=1;for (int i=1;i=j;i+)t=t*i;sum=sum+t;|retur
15、n sum; |int main()int n;while (1)cinn;if (n=0) break;cout sum=sum2(n)endl;system( pause );|return 0;14. 从键盘上输入一个正整数m,找出1000至1oooo之间所有各位数字之和等于m的数。如输入32,则有9869满足要求。因为9869各位上数字之和等于32。#in elude using namespacestd;void f( int mint i;for (i = 1000; i 0; j = j / 10) sum = sum + j % 10; if (sum = n) cout i
16、; cout en dl;int main()int n, m;cout n;f(n);system( pause);return 0;15. 已知xxz+yzz=532,求所有可能的x,y,z的值#in clude using namespacestd;int main()for (int x = 0; x = 9; x+)for (int y = 0; y = 9; y+)for (int z = 0; z = 9; z+) z en dl;0、负整数数的个数。当int k = x * 10 + x * 100 + z + y * 100 + z * 10 + 乙 if (k = 532)
17、cout x y system( pause);return 0;16. 编程从键盘中随机输入若干整数,统计其中正整数、 输入整数100000时结束输入。#in clude using namespacestd;void main()int n=0,m=0,k=0,c=0;while (n != 100000)cout n;if (n 0)k+;else if (n = 0)m+;else if (n 0)c+;cout 正整数的个数是: k endl;cout 负整数的个数是: k endl;cout 0 的个数是: k endl;system( pause);17. 编写一程序,输入一个正
18、整数n,求小于等于n的最大素数。18. 求100999中的。所谓水仙花数是指一个三位数,它的每位数字的立方之和 等于该数。例如,因为153= 13+ 53+ 33,所以153为水仙花数。#in clude using namespacestd;void main()int i;for (i = 100; i = 999; i+)int j, sum = 0;j = i;while (j)int k = j % 10;sum = sum + k*k*k;j = j / 10;if (sum = i)cout sum ;system( pause);19. 求1000之内的所有完数。所谓完数是指一
19、个数恰好等于它的所有因子之和。 例如,6= 1+ 2 + 3,所以6为完数。20. 编一程序显示如下图案:21. 编一程序显示如下图案:#include #in clude using namespacestd;void f( int n) for ( int i = 1; i =n; i+) cout setw(20 - i);for ( int j = 0; j 2 * i - 1; j+)char t = A +j;cout t;cout endl;int main()f(3);system( pause );return 0;21. 根据n /4 =1-1/3+1/5-1/7+求n的近
20、似值,直到最后一项的值小于0.000001 为止。22. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又 多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每 天早上都吃了前一天剩下的一半零一个。 到第 1 0天早上想再吃时, 发现只剩 一个桃子了,求猴子第一天究竟摘了多少个桃子?23. 编程序模拟剪刀,石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸 包石头玩游戏者从键盘上输入 s (表示剪刀)或R (表示石头)或P (表 示纸),要求两个游戏者交替输入,计算机给出输赢的信息。24. 编写程序输出菲波那切数列的前 20项。即前两项为 1,以后每一项为前两项
21、 之和。25. 打印九九乘法表。26. 若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第 n 年时有多少头母牛?27. 编写程序,输入一个整数,求该整数是几位数?并输出最高位数字。#include using namespacestd;int f( int n)int x = 0,j=0;for ( int i = n; i 0; i = i / 10) j+;if (x i % 10)x = i % 10;cout j endl; return x;int main()int n; cout n; n = abs(n);cout f(n); cout endl;system(
22、 pause ); return 0;n 的所有素数 ,28. 从键盘上输入一个正整数n,求出5位数中各位数字之和等于 每行按 6 个素数输出。法一: #include (错误)using namespacestd;void f( int m, int n, int k)int l = 0;for ( int i = m; i 0; j = j / 10)s = s + j % 10;if (s = k) int t, z = sqrt(i);for (t = 2; t = k + 1) cout i ;l+;if (l % 6= 0)cout endl;int main()f(10000,
23、99999, 43); system( pause );return 0;法二:(正确) #include using namespacestd;void foundPrime( int n)int k = 0;for ( int i = 10000; i0)s = s + m % 10; m = m / 10; if (s = n)int z = sqrt(i);int j;for (j = 2; j = z + 1)cout i ; k+;if (k % 6 = 0) cout endl;int main()foundPrime( 43); system( pause ); return
24、0;29. 编程求下式的值:编写函数时,设置参数1 2 3 4 10n+n+n+n + +n,其中 n=1,2,3n 的默认值为 2#include using namespacestd; int f( int n=2) int i, t = 1, sum = 0,k=0; for (i = 1; i =10; i+) t = t * n; sum = sum + t;return sum;int main()cout f() endl;cout f(1) endl; cout f(2) endl; cout f(3) endl; system( pause ); return 0;30. 给
25、定求组合数公式为: Cnm = m!/ n! (m-n)! 编一程序,输入 m 和 n 的值31.求 s=1+ (1+2) + (1+2+3) +.+ (1+2+3+n)的值。#include using namespacestd;int f( int n)int sum, t = 0;for ( int j = 1; j 0; i-)sum = sum + i;t = t + sum;return t;int main()int n;cout n;n = abs( n);cout f(n);cout endl; system( pause);return 0;20332.编程计算:2 2s=
26、 (i 1) (j 2)i 1 j 133. 求sum=a+aa+aaa+aaaa+aaa(表示n个a)的值。其中a是一位数字。例 如当 n=6,a=2 时 sum=2+22+222+2222+22222+222222n 和 a 的值由键盘输入。 法 一:#in clude using namespacestd;int f( int a, int n) int i, t = 1, sum = 0,k=0;for (i = 0; i n; i+)sum = sum + pow(10, i)*a; k = k + sum;return k; int main()cout f(2, 2) endl;
27、system( pause);return 0;法二:#include using namespacestd;int f( int a, int n)int i, t = 1, sum = 0,k=0;for (i = 0; i n; i+)k = k + a*t; sum = sum + k;t = t * 10;return sum;int main()cout f(2, 3) endl;system( pause);return 0;34. 求100230之间所有素数的和。#include #i nclude using namespacestd;void f() int t = 0;f
28、or ( int j = 100; j 230; j+)int k = sqrt(j);int i;for (i = 2; i = k + 1) cout j ; t+;if (t % 6 = 0)cout endl;int main()f();system( pause);return 0;3.27.2017 int sum(int n, int 口int sum=0;for (int i= n;i=k+1)sum=sum+i; return sum;int main()cout sum(100,230);system( pause);return 0;35. 从键盘上输入若干整数,计算并输
29、出其中正整数的平均值,以 束标志。(要求分别使用while语句、dowhile语句编写)36. 编程实现下面的图案。*37. 实现一个简单的菜单程序,运行时显示:Me nuA(阶乘)S(求和)F(找素数)Q(退出) 请选择(A/S/F/Q)?当选择A时,输出”求阶乘”信息;选择S时,输出”求和”信息; 找素数”信息;选择Q时,退出循环,结束程序。3.27.2017#in elude #i nclude using namespacestd;void menu() |cout Menueendl;cout setw(15) A.求阶乘endl;cout setw(13) S.求和endl; |c
30、out setw(15) F.找素数endl;cout setw(13) Q.退岀0;i=i/10)sum=sum+i%10;return sum;int AA( int n)int t=1;for (int i=1;i= n;i+)t=t*i;return t; void k3( int n)int k=sqrt( n);int i;for (i=2;i=k;i+)if (n%i=0)cout 不是素数! =k+1)cout 是素数!endl;void choice。char ch;int n;while (1)men u();cout 请输入数字:;cinn;cout ch;switch
31、(ch)case A :cout AA(n); break;case S :cout sum(n); break;case F :k3(n); break ;case Q : break;int main()choice。;system( pause); |return 0;38. 编程找出所有的三位整数中各位数字之和为素数的所有三位数,每行输出5个。39.编程实现如下图案ststststststststststststs stststststststststststs ststststststststststs stststststststststs ststststststststs st
32、ststststststs ststststststs stststststs ststststs stststs ststs stsS40. 编程实现如下图案AB BC CD DEEFFG GHHHHHHHHHHHHHHH41. 编程实现如下图案AB BC CD DEEFFGGHHHHHHHHHHHHHHHGGFFEED DC CB BAvoid printABCD() |int j;/上半部分for (int i=1;i=8;i+)coutsetw(20-i);for ( j=1;jv=2*i-1;j+)if (j=1 | j=2*i-1)cout( char)( A +i-1);else if (i=8)cout( char)( A +i-1);elsecout ;coute ndl;42. 从键盘上输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右到左读都是一样的数。如7887、23432就是回文数。#include #in clude using namespacestd;void f( int n)int j = O,t=O;for ( int i = n; i 0; i = i / 10)j+;for ( int i = n; i 0; i = i / 10)t = t + pow(10, j-1)*(i % 10);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宠物饲养考试题及答案
- 九上地理考试题及答案
- 2025建筑工程评估委托合同
- 2024年山东东营河口区引进卫生专业技术招聘真题
- 2024年福建农信招聘真题
- 基于掺镱保偏光纤的高功率窄线宽线偏振激光
- 湖北省襄阳市第四中学2025届高三下学期适应性考试(二)数学试题(原卷版)
- 山东省滨州市博兴县2024-2025学年八年级下学期4月期中考试语文试卷(含答案)
- 2025年二手交易电商平台信用评级与信用评价体系研究报告001
- 新型残障人三轮车行业深度调研及发展项目商业计划书
- 线下拉新协议
- 急性中毒诊断与治疗中国专家共识
- 《选品与采购》课件-6.采购绩效评估
- 骨盆骨折的医疗护理查房
- 2025-2030中国智能助听器行业市场发展趋势与前景展望战略研究报告
- 园艺学:植物嫁接技术的创新与应用
- 2025商丘市辅警考试试卷真题
- 大班社会《好担心》课件教案设计
- 车间包装饮料管理制度
- 2024年山东省胸痛中心质控报告
- 辅导员考试题型及出题趋势试题及答案
评论
0/150
提交评论