- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课程设计报告分析
C++课程设计报告
学院:信息工程学院
姓名:
班级:
学号:
指导老师:
实习题目一
【需求规格说明】
1、福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA。他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”。于是,两人沉默了好久,还是没有算出合适的结果来。请你利用编程技术,找到破解的答案。
问题描述:
ABCDE代表一个五位数,EDCBA代表这个五位数倒过来输出,用一个五位数乘以一个个位数等于这个五位数倒序输出。
问题分析:
ABCDE从最小的符合条件的五位数开始遍历,j从1开始遍历,用两个循环控制。
【算法设计】
(1)设计思想:
写一个整型函数InvertedOrder,功能是将一个五位数倒序输出,方便下面if语句判断条件的编写。
用for循环从最小的、最后一位不是零且没有重复数字的五位数开始,每循环一次加1,内部套一个for循环,控制?代表的数字从1开始,每次加1。若不符合题设条件继续执行下一次循环,如果符合条件,就用if语句控制跳出循环,最后输出想要的等式。
(2)设计表示:
InvertedOrder
传入参数(一个五位数)ABCDE
分开存入数组n中
n[5]={A,B,C,D,E}
返回倒序后的数
InvertedOrdered=EDCBA
开始
ABCDE=10234;ABCDE10000;ABCDE++
ABCDE*j=EDCBA?
输出ABCDE*j=EDCBA
结束
是
否
j=1;j10;j++
否
【调试报告】
未出现错误。
【附录】
源程序清单:
#include stdafx.h
#includeiostream
using namespace std;
int n[5];
int InvertedOrder(int num) //将一个5位数倒序输出
{
int i,m;
n[4]=num%10;
m=num/10;
for(i=3;i=0;i--) //将5位数的每一位分开,依次储存在整型数组n中
{
n[i]=m%10;
m=m/10;
}
int InvertedOrdered=n[4]*10000+n[3]*1000+n[2]*100+n[1]*10+n[0];//倒序输出
return InvertedOrdered;
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,j;
for(i=10234;i100000;i++) //从最小的没有重复数字的五位数开始循环
{
for(j=1;j10;j++)
{
if(i*j==InvertedOrder(i)n[0]!=n[1]n[0]!=n[2]n[0]!=n[3]n[0]!=n[4]
n[1]!=n[2]n[1]!=n[3]n[1]!=n[4]n[2]!=n[3]n[2]!=n[4]n[3]!=n[4])
break; //符合题目给的条件就跳出循环
}
if(i*j==InvertedOrder(i)n[0]!=n[1]n[0]!=n[2]n[0]!=n[3]n[0]!=n[4]
n[1]!=n[2]n[1]!=n[3]n[1]!=n[4]n[2]!=n[3]n[2]!=n[4]n[3]!=n[4])
break; //接着上个跳出继续跳出
}
couti*j=i*jendl;//输出题目要求的等式
return 0;
}
运行结果:
实习题目二
【需求规格说明】
2、小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的妹妹的年龄。
问题描述:
设两个人的年龄分别为s、l,s代表年龄较小的妹妹,l代表年龄较大的妹妹。
两人的年龄符合s*l=6*(s+l)和l+s8,即可解得s和l的值。
问题分析:
s和l都从1开始遍历,用两个循环控制。
【算法设计】
(1)设计思想:
用for循环控制s从1开始,每循环一次加1,内部套一个for循环,控制l从1开始,每次加1。若不符合题设条件继续执行下一次循环,如果符合条件,就用if语句控制跳出循环,最后输出想要的等式。
(2)设计表示:
开
原创力文档


文档评论(0)