为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > VC课程设计—判断可逆素数

VC课程设计—判断可逆素数

2018-04-10 7页 doc 42KB 32阅读

用户头像

is_314871

暂无简介

举报
VC课程设计—判断可逆素数VC课程设计—判断可逆素数 编号:14 计算机软件技术基础(VC) 2011年课程设计报告 一、题目:设计一个判断某数是否为可逆素数的程序 二、设计思路 1总体设计 1)分析程序的功能 通过此程序可判断一个数字是否为可逆素数 2)系统总体结构 本程序总共用到了3个文件 1、myfunction.h 作用是: (1)获得逆序数,通过函数int Reverse(int inNum); (2)判断是否为素数,通过bool isPrime(int inNum); 2、myfunction.cpp 作用是:实现...
VC课程设计—判断可逆素数
VC课程设计—判断可逆素数 编号:14 计算机软件技术基础(VC) 2011年课程设计报告 一、题目:设计一个判断某数是否为可逆素数的程序 二、设计思路 1总体设计 1)分析程序的功能 通过此程序可判断一个数字是否为可逆素数 2)系统总体结构 本程序总共用到了3个文件 1、myfunction.h 作用是: (1)获得逆序数,通过函数int Reverse(int inNum); (2)判断是否为素数,通过bool isPrime(int inNum); 2、myfunction.cpp 作用是:实现上述两个函数。 3、Main.cpp通过调用myfunction.h中的两个函数,从而形成一个判断可逆素数的函数void ReversePrime.()。 1 编号:14 2 各功能模块的设计 所用到的函数有: 1、int Reverse(int inNum);用来获得逆序数。实现方法是:从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字 2、bool isPrime(int inNum); 用来判断数inNum是否为素数。实现方法是:遍历2以上N的平方根以下的每一个整数,是不是能整除N。若能整除,返回false,即不是素数;若遍历完没有数能整除,则返回false,N是素数。 3、void ReversePrime.(); 用来判断可逆素数。实现方法是:用户输入某4位数,若既满足isPrime又满足reverse,则为可逆素数。 4、void main();实现程序功能。通过main函数将上述函数组织起来,并有是否继续输入新的4位数等功能。 3、设计中的主要困难及解决 1)困难1:判断一个四位数是否为素数 解决方案:遍历2以上N的平方根以下的每一个整数,是不是能整除N。若能整除,返回false,即不是素数;若遍历完没有数能整除,则返回false,N是素数。 2)困难2:求一个整数的反序数 解决方案:求反序数的方法是从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字。 4、你所设计的程序最终完成的功能 1)说明你编制的程序能完成的功能:输入一个数字,判断其是否为一个四位可逆素数; 2)准备的测试数据及运行结果: 2 编号:14 三、程序清单 1(文件myFunction.h //获得逆序数 int Reverse(int inNum); //判断是否为素数 bool isPrime(int inNum); //myFunction.cpp #include #include int Reverse(int inNum) { int res=0; char ch[4]={0}; //倒序 for (int i=0; inNum!=0; i++) { ch[i] = inNum%10; inNum /= 10; } //类型转换 res = atoi(ch); return res; } bool isPrime(int inNum) { bool primes; for(int i=2; i<=sqrt(inNum+1); i++) 3 编号:14 { if(inNum%i == 0) { primes=false; break; } else primes=true; } return primes; } 2(文件main.cpp #include #include "myFunction.h" void ReversePrime(); void main() { ReversePrime(); char i; cin>>i; while(i=='1') { ReversePrime(); cin>>i; } } void ReversePrime() { int inNum=0; cout<<"请输入要判断的4位数:"; cin>>inNum; //对输入进行判断 while ((inNum/1000)>=10||(inNum/1000)==0) { cout<<"您输入的不是4位数,请重新输入."<>inNum; } //判断是否为可逆素数 if (isPrime(inNum) && isPrime(Reverse(inNum))) cout<心得体会
C++的学习,已经有一个学期了,许多知识都存在似懂非懂的现象,这种现象通过这次课程设计,已经减少了许多问题。对这些不明白的知识也有了更深的理解和很好的掌握。有些理论上说得过去的代码,到了实际操作,却是行不通的。这种困惑,在这次的设计中得到了解决,并能够深刻认识。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免逻辑上或者编译器不支持上的错误。这样花费大量时间在改程序上是很不值得的。实践是检验真理的唯一,这句话很正确,如果没有实践,就不会发现和深刻体会它的真实所在。只有通过检验的真理,在自己的心里,才会认可它的真实性。面向对象程序设计的完成,使我们懂得了真理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识。感谢老师的指导和帮助,您们辛苦了~ 埋头苦干的过程是苦涩的,在书山中查找资料的过程是疲倦的,但当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来得收获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会有回报,就在这样的痛与快乐的交换中,我学到了知识,学到了道理,学到了做人的道理。 总之,在这次的课程设计过程中,我收获了很多,既为我的以后学习设计有很大的帮助,也为将来的人生之路做好了一个很好的铺垫。 5
/
本文档为【VC课程设计—判断可逆素数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索