/*
3
case #1: A
65
2/8 <==> 25.00%
case #2: A,Bx y@12
65 44 66 120 32 121 64 49 50
24/72 <==> 33.33%
case #3: 计算字符串的数据密度。
188 198 203 227 215 214 183 251 180 174 181 196 202 253 190 221 195 220 182 200 161 163
107/176 <==> 60.80%
Press any key to continue
*/
#include
#include
int main() {
int i,t;
void solve();
scanf("%d",&t);
for (i = 1;i <= t;i++) {
printf("case #%d: ",i);
solve();
}
return 0;
}
void solve() {
char s[120];
int ch,sum = 0,i,size;
fflush(stdin);
gets(s);
for(i = 0;s[i] != '\0';i++) {
ch = s[i];
while(ch != 0) {
if(ch%2) sum++;
ch = ch/2;
}
}
size = 8 * sizeof(char) * strlen(s);
printf("%d/%d <==> %.2lf%%\n",sum,size,100.0 * sum/size);
}
加20分,我给你检查。