L1-017 到底有多二 (15分)

L1-017 到底有多二 (15分)

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	int i,cnt=0,flag=0;
	double sum=100.0;
	if(s[0]=='-'){
		flag=1;
		s.erase(s.begin());//删除第一个元素
	}
	for(i=0;i<s.length();i++){
		if(s[i]=='2'){
			cnt++;
		}
	} 
	if(flag==1){
		sum=sum*cnt/s.length()*1.5;
	}else
		sum=sum*cnt/s.length();
	if((s[s.length()-1]-'0')%2==0){
		sum=sum*2.0;
	}
	printf("%.2f%\n",sum);
	return 0;	
}
		

** 参考"取次花丛懒回顾_半缘修道半缘君"大佬代码**
对s.length()在判断是否为负除修改,后面求s的长度不需要减1

上一篇:017:应用命名空间和实例命名空间


下一篇:AtCoder Grand Contest 017题解