到底有多二
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。
注意:(1)首先要确定2出现的个数;
(2)来确定是不是偶数,就要看最后一位是不是偶数即可;
(3)判断是不是负数,是负数的话要注意位数要减1.
#include<stdio.h>
#include<string.h>
int main()
{
int len, count = 0, bei = 1;
double s = 1;
char a[60];
gets(a);
len = strlen(a);
for (int i = 0; i < len; i++)
{
if (a[i] == '2') count++;
}
if (a[len - 1] % 2 == 0) bei = 2;
if (a[0] == '-')
{
len = len - 1;
s = 1.5;
}
printf("%.2f%%", (count*1.0/ len) * s*bei*100);
return 0;
}
大笨钟
**微博上有个自称“大笨钟V”的家伙,每天