版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、分析题1.分析下列程序,写出运行结果。#include<iostream>usingnamespacestd;voidfun(inta){do{cout<<a%2;a=a/2;}while(a!=0);cout<<endl;}intmain(){inta=42486;fun(a);return0;}答:01101111101001012.分析下列程序,写出运行结果。#include<iostream>usingnamespacestd;intmain(){inta=42486;for(inta=42486,i=0;i<5;i++){a=a/2;}cout<<a<<endl;return0;}答:42486二、编程题1.请设计一个函数,根据输入的整数n,打印斐波那契额数的第n项,并编写代码调用斐波那契数列函数并打印的第n项。#include<iostream>usingnamespacestd;//函数声明:计算斐波那契数列第n项intfibonacci(intn){if(n<=0)return0;elseif(n==1||n==2)return1;elsereturnfibonacci(n-1)+fibonacci(n-2);}intmain(){intn;cout<<"请输入n:";cin>>n;cout<<"斐波那契数列第"<<n<<"项是:"<<fibonacci(n)<<endl;return0;}2.请设计一个函数,根据输入的整数n,打印n*n乘法表,例如,n为5时,输出如图5.11所示乘法表,并编写代码验证打印函数的功能。图5.11乘法表请设计一个函数,求给定的两个整数n和m的最小公倍数,并编写代码调用最小公倍数函数,输出返回的最小公倍数。#include<iostream>usingnamespacestd;//函数:打印n*n的乘法表voidprintMultiplicationTable(intn){for(inti=1;i<=n;i++){for(intj=1;j<=i;j++){cout<<j<<"*"<<i<<"="<<i*j<<"\t";}cout<<endl;}}intmain(){intn;cout<<"请输入n:";cin>>n;printMultiplicationTable(n);return0;}所谓水仙花数,即,它们等于各位数字的立方和。例如,整数153就是一个这样的数:153=13+33+53。请设计一个函数,根据输入的整数n,判定整数n是否为水仙花数,如果n为水仙花数,则输出“Yes”,否则输出“No”。#include<iostream>usingnamespacestd;//函数:判断一个整数是否为水仙花数(仅限三位数)boolisNarcissistic(intn){if(n<100||n>999)returnfalse;//水仙花数通常指三位数intoriginal=n;intsum=0;while(n>0){intdigit=n%10;sum+=digit*digit*digit;n/=10;}returnsum==original;}intmain(){intn;cout<<"请输入一个整数:";cin>>n;if(isNarcissistic(n))cout<<"Yes"<<endl;elsecout<<"No"<<endl;return0;}请设计一个十进制转二进制的函数,对给定的正整数n,返回其二进制,并编写代码调用进制转换函数,输出返回的二进制。#include<iostream>#include<string>#include<algorithm>usingnamespacestd;//函数:将正整数n转换为二进制字符串stringdecToBin(intn){if(n==0)return"0";stringbinary="";while(n>0){binary+=(n%2)?'1':'0';//取余并拼接字符n/=2;}reverse(binary.begin(),binary.end());//反转得到正确顺序returnbinary;}intmain(){intn;cout<<"请输入一个正整数:";cin>>n;if(n<0){cout<<"请输入非负整数。"<<endl;return1;}stringresult=decToBin(n);cout<<"二进制表示为:"<<result<<endl;return0;}回文数是指从正向和反向两个方向读数字都一样,例如,1234321就是一个回文数。请设计一个函数,对给定的正整数n,判定其是否为回文数,并编写代码调用回文数判定函数,从键盘输入一个正整数,判断该正整数是否为回文数,如果是则输出“Yes”,否则输出“No”。#include<iostream>usingnamespacestd;//函数:判断正整数n是否为回文数boolisPalindrome(intn){if(n<0)returnfalse;//题目要求正整数,但防御性处理intoriginal=n;intreversed=0;while(n>0){reversed=reversed*10+n%10;n/=10;}returnoriginal==reversed;}intmain(){intn;cout<<"请输入一个正整数:";cin>>n;if(isPalindrome(n))cout<<"Yes"<<endl;elsecout<<"No"<<endl;return0;}请设计一个函数,对给定的正整数n,返回其阶乘n!,并编写代码调用阶乘求解函数,输出返回的阶乘n!。#include<iostream>usingnamespacestd;//函数:计算正整数n的阶乘(迭代实现)longlongfactorial(intn){if(n<0)return-1;//阶乘未定义于负数longlongresult=1;for(inti=2;i<=n;i++){result*=i;}returnresult;}intmain(){intn;cout<<"请输入一个非负整数:";cin>>n;if(n<0){cout<<"阶乘未定义于负数。"<<endl;return1;}longlongfact=factorial(n);cout<<n<<"!="<<fact<<endl;return0;}请设计一个函数,尝试把以下数学公式转换成递归函数。并编写代码调用递归函数,根据输入的整数n(n>0),输出函数返回值。#include<iostream>usingnamespacestd;//递归函数定义longlongfun(intn){if(n<2){returnn+1;//基本情况:n=0→1,n=1→2}else{returnfun(n/2)*fun(n/4);//递归情况:n>=2}}intmain(){intn;cout<<"请输入一个正整数n(n>0):";cin>>n;if(n<=0){cout<<"请输入大于0的整数。"<<endl;return1;}cout<<"fun("<<n<<")="<<fun(n)<<endl;return0;}假设小明正在爬楼梯,需要n阶你才能到达楼顶。小明每次可以爬1或2个台阶。小明有多少种不同的方法可以爬到楼顶呢?请设计一个函数,对给定的正整数n阶,返回爬楼梯的不同方法数(请用非递归方法实现)。#include<iostream>usingnamespacestd;//函数:计算爬n阶楼梯的不同方法数(动态规划,非递归)longlongclimbStairs(intn){if(n<=2)returnn;longlongprev2=1;//f(1)longlongprev1=2;//f(2)longlongcurrent;for(inti=3;i<=n;i++){current=prev1+prev2;//f(i)=f(i-1)+f(i-2)prev2=prev1;prev1=current;}returncurrent;}intmain(){intn;cout<<"请输入楼梯阶数n:";cin>>n;if(n<=0){cout<<"请输入正整数。"<<endl;return1;}cout<<"共有"<<climbStairs(n)<<"种不同的方法。"<<endl;return0;}假设小明正在爬楼梯,需要n阶你才能到达楼顶。小明每次可以爬1或2个台阶。小明有多少种不同的方法可以爬到楼顶呢?请设计一个函数,对给定的正整数n阶,返回爬楼梯的不同方法数(请用递归方法实现)。#include<iostream>usingnamespacestd;//递归函数:计算爬n阶楼梯的不同方法数longlongclimbStairs(intn){if(n==1)return1;elseif(n==2)return2;e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/STSI 22-2021科技信息资源对象互操作规范
- T/SDHS 6-2025核设施用自吸式旋涡磁力泵
- T/CWAN 0115-2025钛及钛合金薄壁型材焊缝X射线数字成像检测
- T/CI 1134-2025隔离式纳米气凝胶聚苯乙烯光伏一体板外墙保温系统设计要求
- T/AHAASS 008-2024非规模畜禽养殖场(户)粪污资源化利用技术规范
- T/CNFIA 258-2026年份梅酒
- 2026学年江苏省南通市一年级数学期末高分通关冲刺押宝题(附答案)详细答案和解析
- 工业AI在阀门性能智能检测中的应用
- Photoshop 模拟考试试题(含详细答案解析)
- 2027届河南省驻马店确山县联考数学九年级第一学期期末监测试题含解析
- 《铁路机车车辆》课件 项目五 制动系统
- 12精卫填海教学课件(共34张)
- 2025 医药产品冷链物流温控设施设备验证 性能确认技术规范
- 纪念中国工农红军长征胜利90周年应知应会100题及答案解析
- 2025年11月计算机技术与软件《中级信息安全工程师(下午卷)》试题真题及
- 2026年市政水务管理的创新发展
- 2026年教科版五年级科学上册3.5《摩擦力的比较》课件
- 深圳龙岗区建筑工务署笔试真题题库(含完整答案解析)
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 雨课堂学堂云在线《人像摄影(中国传媒大学 )》单元测试考核答案
- 2025秋期版国开电大本科《心理学》一平台形成性考核练习1至6在线形考试题及答案
评论
0/150
提交评论