解题思路:
(1)计算出这个数字的位数和2的位数
(2)判断这个数是否是负数和偶数
#include<stdio.h>
int main()
{
char N[50];
int i,count = 0;
double n;
scanf("%s",N);
for (i = 0;N[i]!='\0';i++)
{
if (N[i]=='2')
count++;
}
n = count*1.0/i;
if (N[0]=='-')
{
n=count*1.0/(i-1)*1.0;
n*= 1.5;
}
if (N[i-1]%2 == 0)
n *= 2;
printf("%.2f%%", n*100);
return 0;
}