编程维持测试系列2

7编程维持第7天:统计int类型中0的个数

//思路:
步骤1:统计数的位数
步骤2:统计0的个数

//统计int类型中0的个数
#include<iostream>
#include<math.h>
using namespace std;

int NumOf1(int num)
{
    int count=0;
    if(num==0)
        count=1;
    //步骤1:统计数的位数
    for(int i=9;i>=0;i--)
    {
        int tmp = pow(10,i);
        if(num/tmp!=0)
        {
            count=i+1;
            break;
        }
    }
    //步骤2:统计0的个数
    int count0=0;
    for(int j=1;j<=count;j++)
    {
        if(num%10==0)
            count0++;
        num/=10;
    }
    return count0;
}
int main()
{
    int num=-102030;
    cout<<NumOf1(num)<<endl;

}
7编程维持第7天:数组的整数次方(剑指OFFER面试题16)

//思路:
要判断各种情况下的程序的鲁棒性,这个是这道题的关键

//数组的整数次方
#include<iostream>
using namespace std;

double PowerCore(double base,int exponent)
{
    double result=1.0;
    for(int i=1;i<=exponent;i++)
    {
        result*=base;
    }
    return result;
}

double Power(double base,int exponent)
{
    int flag=0;
    //步骤1:先对所有特殊情况进行判断
    if(base==0.0 && exponent<=0)//这种情况没有意义
        return 0;
    if(exponent==0)
        return 1;
    //步骤2:对指数小于0的进行判断
    if(exponent<0)
    {
        flag=1;
        exponent=-exponent;
    }
    //步骤3:
    double result = PowerCore(base,exponent);
    if(flag==1)
    {
        result= 1/result;
    }
    return result;
}

int main()
{

    double result =Power(0,5);
    cout<<result<<endl;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,157评论 1 19
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,769评论 18 399
  • ◣微尘&静离◥ 她亲手告别了青春的钟情,即使她明知那里除了他,只有一片荒凉。 林辞那天提前三个小时去了机场,乔喜答...
    热情到过关阅读 379评论 0 0
  • 沙沙沙,沙沙沙……自猫出现之前,树的生活总是那样枯燥,看着地上的人,日出而作,日落而息。夏日的风吹得树想睡觉,树看...
    阿园的猫阅读 381评论 0 0
  • 友谊的三角形 突然想起小学时候的我们仨,有着长长大黑辫子,大大黑眼睛的小c,很瘦很瘦又暴脾气的小l,还有一个总是团...
    KK_485d阅读 147评论 0 0