C++作业1.docVIP

  • 71
  • 0
  • 约 10页
  • 2016-09-11 发布于河南
  • 举报
C作业1

2-29:用穷举法找出1~100间的质数并显示出来。分别使用while ,do…while,for循环语句实现。 解:思路:将1`100之间的每一个数开方记为k,让小于等于k的数i和m取模并且每次取模后i++,当m%i=0的时候判断i是否大于等于k+1,如果i大于等于k+1成立则说明它不是一个质数。 源代码如下: (1)用for循环: #includeiostream #includemath.h using namespace std; int main() { int m,k,i; cout1~100之间的质数是:; for(m=2;m=100;m++) //从2开始递增,当m大于100时跳出循环; { k=sqrt(m);//用sqrt函数给得到k的平方根; for(i=2;i=k;i++) if(m%i==0) break; if(i=k+1) coutm ;/*让小于等于k的数i和m取模并且每次取模后i++,当m%i=0的时候判断i是否大于等于k+1,如果i大于等于k+1成立则说明它不是一个质数。*/ } coutendl; return 0;} 程序运行结果: 流程图如下: (2)用while循环: #includeiostream #includemath.h using namespace std; int main() { int m=2,k,i; cout1~100之间的质数是:; while(m++100) //m++小于100时满足条件 { k=sqrt(m); for(i=2;i=k;i++) if(m%i==0) break; if(i=k+1) cout m ; } coutendl; return 0; } 程序运行结果: 流程图如下: (3)用do while循环: #includeiostream #includemath.h using namespace std; int main() { int m=2,k,i; cout1~100之间的质数是:; do { k=sqrt(m); for(i=2;i=k;i++) if(m%i==0) break; if(i=k+1) cout m ; } while(m++100); coutendl; return 0; } 程序运行结果: 流程图如下: 2-35输出九九乘法表: #includeiostream using namespace std; int main() { int i=1,m; for(i;i=9;i++) { for(m=1;m=i;m++) {coutm*i=m*i ;} coutendl; } return 0; } 运行结果如下: 流程图如下: 3-7完成函数。参数为两个unsigned short int 型数,返回值为第一个参数除以第二个参数的结果,数据类型为short int;如果第二个参数为0,则返回值为-1。在主程序中实现输入输出。 解:源代码如下: #includeiostream using namespace std; int main() { unsigned short int num1, num2; cout请输入两个unsigned short int型数:; cinnum1; cinnum2; short int fun(unsigned short int num1,unsigned short int num2); coutnum1=num1 num2=num2endl; coutnum1/num2=fun(num1,num2)endl; return 0; } short int fun(unsigned short int num1,unsigned short int num2) { short int m; if (num2==0) m=-1; else m=short int(num1/num2); return m; } 运行结果如图: 流程图如下: 3-15编写递归函数getPower计算x^y,在一个程序中针对整型和实型两个重载的函数: int getPower(int x,int y);//整型形式,当y0时,返回0 double getPower(double x,int y);//实型形式 解:源代码如下: #

文档评论(0)

1亿VIP精品文档

相关文档