日常记录1

原题目:

从键盘中输入一个数字(可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入 0123.456,返回值为整数有效位数为3)  

1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。
2) 使用数组来进行编程。

说一下第一个:

最开始写的demo:

float res = 0123.456
float youxiaoweishu(float num)
{
    if(num/10==0) return 1;
    return 1.0 + youxiaoweishu(num%10);
}

要求输入为浮点型,有以前算一个整数各个位数和的基础,很快码出代码,但是发现在递归函数的过程中出现了一些问题!小红字提示我输入的实参必须是整数或者枚举变量。我枚举你妹啊,我就一个num%10,不就是数字除以10取余数麽!然后求助于群中大神并度娘看一番,无果,于是尝试着写一个比较的函数

int youxiaoweishu1(int num)
{
    if(num/10==0) return 1;
    return 1 + youxiaoweishu1(num%10);
}

他他妈的不报错了你知道吗,为啥不报错了呢?想了想,仔细想一下错误提示,整数,整数,整数,

%的操作数应该是整数啊!!

posted @ 2017-03-07 14:55  Pumpkin0227  阅读(194)  评论(0编辑  收藏  举报