
#include<stdio.h>
int main()
{
int a,b,m;double e,c,f;c=0;f=0;scanf("%d",&a);m=a;if(a<0)a=-a;do{b=a%10;if(b==2)c++;a=a/10;f++;}while(a!=0);e=c/f100;
if(m<0)
e=e1.5;
if(m%2==0)e=e*2.0;printf("%.2f%%",e);return 0;}
题
a定义为int型是不够的,题目提示改值可以是50位之多。
建议用字符串来接收,然后逐个判断字符是否为数字就可以了