资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
循环控制结构练习题1. 从键盘上输入一个正整数n,计算其阶乘n! #include #include using namespace std;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 namespace std;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#include using namespace std;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(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.编写程序,输入一个整数,求该整数的各位数字和。 #include #include using namespace std;int f(int n)int t = 0;for (int i = n; i 0; i=i/10)t=i%10+t;return t;int main()int n;cout n;if (n 0)n = abs(n);cout n的各位数字和为: f(n) endl;system(pause); return 0;法二: int f(int n)if (n 10)return n;else return (n % 10 + f(n / 10);int main()int n;cout n;if (n 0)n = abs(n);cout n的各位数字和为: f(n) endl;system(pause); return 0;3.26.2017int f3(int n)n=abs(n);if(nn;if(n=0)break;cout f3(n);system(pause);return 0;3. 编写程序,输入一个整数,求该整数的各位数字的乘积。法一:#include using namespace std;int f(int n)if (n 10)return n;else return (n % 10 )* f(n / 10);int main()int n;cout n;n = abs(n);cout f(n);system(pause);return 0;法二:#include using namespace std;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)n=abs(n);if(nn;if(n=0)break;cout f4(n);system(pause);return 0;4. 编写程序,输入一个整数,求该整数的各位数字的平方和。法一: #include using namespace std;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 = abs(n);cout f(n);system(pause);return 0;法二:#include using namespace std;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 main()int n;while(1)cinn;if(n=0)break;cout f4(n)endl;system(pause);return 0;5. 编写程序,输入一个整数,求该整数的各位上的数字是否包含数字5,若有则输出是第几位有含数字5. #include using namespace std;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);cout 0;i=i/10,j+)if(i%10=m)cout 第j+1位nm;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.2017 void f6()for(int j=0;j10;j+)coutsetw(20+j);for(int i=0;i10;i+)cout*;cout endl;int main()int n,m;f6();system(pause);return 0;8.编程计算:的前20项的和。法一: #include using namespace std;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)if(n=1)return 1;else return (n/(2*n-1)+f7(n-1);int main()double n,m;cin
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号