PAT L1-017. 到底有多二
#include <stdio.h>
#include <string.h>
int
main() {
char s[55];
int i, num, two = 0;
double ans = 1.0;
scanf("%s", s);
for( i = 0; i < strlen(s); i++ ) { // 几个2?
if( s[i] == '2' ) {
two++;
}
}
num = strlen(s);
if( s[0] == '-' ) { // 负数,*1.5,位数-1
ans *= 1.5;
num -= 1;
}
if( (s[strlen(s) - 1] - '0') % 2 == 0 ) { // 偶数, *2
ans *= 2;
}
ans *= (two * 1.0 / num * 100); // 整数除法,注意 * 1.0
printf("%.2f%\n", ans);
return 0;
}