L1-017. 到底有多二
思路:
又一个一维字符数组 储存输入,计算2的个数, 判断正负数(第一个字符),判断奇偶(最后一个字符)
注意点:
1.读取字符完后,判断正负时需要注意,负数时数据长度要减一;
2.输出%需要转义字符%%
1 #include<stdio.h> 2 int main() 3 { 4 char str[51]; 5 int i,num,n; 6 num=0,i=0; 7 while(1) 8 { 9 scanf("%c",&str[i]); 10 if(str[i]=='\n')break; 11 if(str[i]=='2')num++; 12 i++; 13 } 14 n=i; 15 float er; 16 if(str[0]=='-')n--,er=1.5; 17 else er=1; 18 er*=(float)num/n; 19 if((str[i-1]-48)%2==0)er=2*er; 20 printf("%.2f%%\n",er*100); 21 return 0; 22 }