VC++学习心得(七)

C++的基本程序结构我们已经学得差不多了。

 

今天我们要运用先前学习的结构来解决一些问题。

 

 

 

1.      水仙花数问题

要求:设计一个程序,输出所有的水仙花数。所谓水仙花数是一个3位数,其各位数字的立方等于该数本身。例如:153=1^3+5^3+3^3;

提示:使用for,while等来进行枚举(即从000到999)

     使用if来进行筛选水仙花数。

参考答案结尾公布。

 

 

 

 

2.      判断一个数是否是素数(质数)。

提示:使用for,while等来进行枚举它的公因子数

(如输入一个数为i,枚举公因子数=  2到根号(i) )

使用if来进行判断。

这个对初学者理解起来比较难,不过只要认真思考就能搞定的。

参考答案结尾公布。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考答案:

1.      水仙花数问题

 

#include<iostream>

#include<math.h>

using namespace std;

void main(void)

{

          int i,j,k,l,sl,a[1000];

          sl=0;//注意一定要赋值为0,否则sl的初始值是-83………会出错。

          for(i=0;i<=9;i++)//用i模拟百位数

          {

                   for(j=0;j<=9;j++)//用j模拟十位数

                  {

                           for(k=0;k<=9;k++)//用k模拟个位数

                           {

                                   l = pow(i,3) +pow(j,3)+pow(k,3) ; //pow(x,3)代x^3

                                  if (l==i*100+j*10+k)

                                   {

                                         sl++;//水仙花数+1

                                         a[sl]=l;//用整数数组把水仙花数存起来

                                    }

             

                          }

 

                  }

 

          }

          cout <<"一个有 "<<sl<<" 个水仙花数"<<endl;

         for(i=1;i<=sl;i++) cout<<a[i]<<endl;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

2.      判断一个数是否是素数。

 

#include<iostream.h>

#include<math.h>

void main(void)

{  

    int shu,i;

   cout<<"请输入一个数,输出该数是否素数"<<endl;

         cin>>shu;

   for (i=2;i<=floor(sqrt(shu));i++)//sqrt()开平方函数,floor()是取实数的整数位。

    {

      if (shu%i == 0)

            {

                      cout<<"这个数不是素数"<<endl;

                      return;//直接退出程序。

            }

    }

   cout<<"这个数是素数"<<endl;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值