ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:21.56KB ,
资源ID:11847275      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11847275.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第一阶段程序代码中国矿业大学软件课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第一阶段程序代码中国矿业大学软件课程设计.docx

1、第一阶段程序代码中国矿业大学软件课程设计1. 编程序 用迭代法求a的立方根,求立方根的迭代公式为 :Xi+1=(2*Xi)/3+a/(3*Xi*Xi) 假定X的初值为a,迭代到|Xi+1-Xi|10的-5次方为止. 显示a=3,27的值,并通过调用pow(a,1.0/3)函数加以验证.。程序代码:#include stdafx.h#include #include using namespace std;double cbrt (double x) double x1, x2; if (x = 0.0) return 0.0; x1 = x; x2 = (2.0 * x1 + x / (x1

2、* x1) / 3.0; while (fabs(x2 - x1) / x1) = 1E-5) x1 = x2; x2 = (2.0 * x1 + x / (x1 * x1) / 3.0; return x2;int main(int argc,char* argv) int iNumber = 0; cout Please input an integer: iNumber; cout cbrt(iNumber) endl; cout pow(iNumber,1.0/3) endl; return 0;2 / 编程序,从键盘输入正整数n,求出n与其反序数之和并输出。/ 例如,输入2038,输

3、出应为 2038+8302=10340。.cpp:#include stdafx.h#include using namespace std;int main(int argc, char* argv) int iNumber = 0,iTemp = 0,iInsert = 0; cout Please input an integer: iNumber; int a = iNumber; while (iNumber 0) iTemp = iNumber % 10; iInsert = iInsert * 10 + iTemp; iNumber = iNumber / 10; cout a

4、+ iInsert = a + iInsert endl; return 0;3. 编程序,使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项(的具体项值)并显示在屏幕上(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。Fibonacci数列的计算公式如下: fib(1) =

5、1;fib(2) = 1;fib(n) = fib(n-1) + fib(n-2); /对大于等于3的任意n。拓展编程(选做),设计递归函数double fib(int n);用于求出Fibonacci数列的第n项(的具体项值)并返回,而后编制主函数对它进行调用。程序代码:#include stdafx.h#include using namespace std;long Fib(long lNum) long lF1 = 1,lF2 = 1,lFx = 0; for (int i = 1;i lNum - 1; + i) lFx = lF1 + lF2; lF1 = lF2; lF2 = l

6、Fx; return lFx;int main(int argc,char* argv) long iNum = 0; cout Please input an integer(整?数y要a大于3): iNum; cout 第 iNum 次? 的?个?数y为a endl; cout Fib(iNum) endl; return 0;4.编程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。注意,现在共有7种元以上面值的人民币纸币,分别为:100,50,20,10,5,2,1。程序代码:#include stdafx.h

7、#include #include using namespace std;int main() cout number; int baiyuan=number/100, wushiyuan=number%100/50, ershiyuan=number%100%50/20, shiyuan=number%100%50%20/10, wuyuan=number%100%50%20%10/5, eryuan=number%100%50%20%10%5/2, yiyuan=number%100%50%20%10%5%2/1; coutt100元asetw(7)baiyuan张? endl t50元

8、asetw(9)wushiyuan张? endl t20元asetw(9)ershiyuan张?endl t10元asetw(9)shiyuan 张?endl t5元asetw(9)wuyuan 张?endl t2元asetw(9)eryuan张?endl t1元asetw(9)yiyuan 张?endl;5. 编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0

9、到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。#include #include #include using namespace std;void Addition();void Multi();void Division();void Subtraction();int iCounter;int main(int argc, char* argv) cout 欢迎来到考吧测试中心: endl; cout 系统正在载入,请稍后 endl; cout 载入成功,请选择要测试的种类:A:加法;B:减

10、法;C:乘法;D:除法 endl; char chA = ; cout 请输入:ABCD(注意锁定大写) chA; cout 欢迎来到数学训练中心 endl; if (chA = A) Addition(); cout 你的测试结果如下所示: 10) cout 您答对了 iCounter 道试题! endl; cout 你的水平不错,可以进入高级测试! endl; if (iCounter 5) cout 靠,你只做对了 iCounter 道试题! endl; cout 你真是菜鸟一个,重新练习吧! endl; if (chA = C) Multi(); cout 你的测试结果如下所示: 10

11、) cout 您答对了 iCounter 道试题! endl; cout 你的水平不错,可以进入高级测试! endl; if (iCounter 5) cout 靠,你只做对了 iCounter 道试题! endl; cout 你真是菜鸟一个,重新练习吧! endl; if (chA = B) Subtraction(); cout 你的测试结果如下所示: 10) cout 您答对了 iCounter 道试题! endl; cout 你的水平不错,可以进入高级测试! endl; if (iCounter 5) cout 靠,你只做对了 iCounter 道试题! endl; cout 你真是菜

12、鸟一个,重新练习吧! endl; if (chA = D) Division(); cout 你的测试结果如下所示: 10) cout 您答对了 iCounter 道试题! endl; cout 你的水平不错,可以进入高级测试! endl; if (iCounter 5) cout 靠,你只做对了 iCounter 道试题! endl; cout 你真是菜鸟一个,重新练习吧! endl; return 0;void Addition() cout 请选择要训练的类型:A:十以内的;B:一百以内的 ch; srand(time(0); int a = 0,b = 0,t = 0; cout 如果

13、想要结束测试,请按6个8键 endl; while(1) if (ch = A) a = rand() % 10; b = rand() % 10; if (ch = B) a = rand() % 100; b = rand() % 100; cout a + b t; if (t = a + b) iCounter +; else if (t = 888888) break; else cout Your input is wrong! endl; void Multi() cout 请选择要训练的类型:A:十以内的;B:一百以内的 ch; srand(time(0); int a = 0

14、,b = 0,t = 0; cout 如果想要结束测试,请按6个8键 endl; while(1) if (ch = A) a = rand() % 10; b = rand() % 10; if (ch = B) a = rand() % 100; b = rand() % 100; cout a * b t; if (t = a * b) iCounter +; else if (t = 888888) break; else cout Your input is wrong! endl; void Subtraction() cout 请选择要训练的类型:A:十以内的;B:一百以内的 c

15、h; srand(time(0); int a = 0,b = 0,t = 0; cout 如果想要结束测试,请按6个8键 endl; while(1) if (ch = A) a = rand() % 10; b = rand() % 10; if (ch = B) a = rand() % 100; b = rand() % 100; cout a - b t; if (t = a - b) iCounter +; else if (t = 888888) break; else cout Your input is wrong! endl; void Division() cout 请选

16、择要训练的类型:A:十以内的;B:一百以内的 ch; srand(time(0); int a = 0,b = 0,t = 0; cout 如果想要结束测试,请按6个8键 endl; while(1) if (ch = A) a = rand() % 10; b = rand() % 10; if (ch = B) a = rand() % 100; b = rand() % 100; cout a / b t; if (t = a / b) iCounter +; else if (t = 888888) break; else cout Your input is wrong! endl;

17、 6. 编程序,使用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。 思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。程序代码:#include stdafx.h#include using namespace std;bool IfLeapYear(long);int main(int argc,char* a

18、rgv) long lYear = 0; int iWeek = 0; cout Please input the year and what the first day is: lYear iWeek; int iMonth12 = 31,28,31,30,31,30,31,31,30,31,30,31; cout Please input one day of the year:(mon & day) iMon iDay; for (int i = 0;i 7) cout That day is 星?期 iWeek + iLast - 7 endl; cout That day is 星?

19、期 iWeek + iLast endl; return 0;bool IfLeapYear(long year) if (year % 4 = 0 & year % 100 != 0 | year % 400 = 1) return true; return false;7. 罗马数字问题转换程序代码:#include StdAfx.h#include#includeusing namespace std;int main() cout 请输入一个包含“MDCLXVI”的字符串: st1; for (int i = 0;i 7;+ i) if (st1i = chAi) iSum += iD

20、atai; else cout You have input a wrong letter! endl; iSum = 0; / iSum 置零; break; cout iSum endl; return 0;把十进制转换成罗马数制程序代码:#include StdAfx.h#include#includeusing namespace std;int main() int iNumber = 0; cout 请输入一个十进制数字(10000): iNumber; int iData7 = 1000,500,100,50,10,5,1; /*char chA7 = M,D,C,L,X,V,I

21、;*/ int iM = iNumber / 1000; int iD = (iNumber - iM * 1000) / 500; int iC = (iNumber - iM * 1000 - iD * 500) / 100; int iL = (iNumber - iM * 1000 - iD * 500 - iC * 100) / 50; int iX = (iNumber - iM * 1000 - iD * 500 - iC * 100 - iL * 50) / 10; int iV = (iNumber - iM * 1000 - iD * 500 - iC * 100 - iL

22、 * 50 - iX * 10) / 5; int iI = iNumber - iM * 1000 - iD * 500 - iC * 100 - iL * 50 - iX * 10 - iV * 5; for (int i = 0;i iM; + i) cout M ; for (i = 0;i iD; + i) cout D ; for (i = 0;i iC; + i) cout C ; for (i= 0;i iL;+ i) cout L ; for (i = 0;i iX;+ i) cout X ; for (i = 0;i iV; + i) cout V ; for (i = 0;i iI; + i) cout I ; cout endl; cout endl; cout 恭喜你,做出来了! endl; return 0;8. 编写程序求解骑士巡游问题:程序代码:#include StdAfx.h#incl

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

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