大佬帮我看看为什么分数只有85 WA
查看原帖
大佬帮我看看为什么分数只有85 WA
914039
yukq11楼主2023/4/9 13:37
#include <bits/stdc++.h>
using namespace std;

int main(){
	string s1;
	cin>>s1;
	int first = 0, second = 0;
	bool flag = 0;//0 代表全是数字 1 代表有% . / 
	for(int i = 0; s1[i]; i++){
		if(s1[i] >= '0' && s1[i] <= '9') continue;
		switch(s1[i]){
			case '.':
				flag = 1;
				for(int j = 0; j < i; j++){
					first += (s1[j] - '0') * pow(10, j);
				}
				for(int j = i + 1; s1[j]; j++){
					second += (s1[j] - '0') * pow(10, j - i - 1);
				}
				if(second != 0){
					while(second%10==0){
						second/=10;
					}
				}
				cout<<first<<'.'<<second; 
				break;
			case '/':
				flag = 1;
				for(int j = 0; j < i; j++){
					first += (s1[j] - '0') * pow(10, j);
				}
				for(int j = i + 1; s1[j]; j++){
					second += (s1[j] - '0') * pow(10, j - i - 1);
				}
				cout<<first<<'/'<<second; 
				break;
			case '%':
				flag = 1;
				for(int j = 0; j < i; j++){
					first += (s1[j] - '0') * pow(10, j);
				}
				cout<<first<<'%'; 
				break;
		}
	}
	if(flag == 0){
		for(int i = 0; s1[i]; i++){
			first += (s1[i] - '0') * pow(10, i);
		}
		cout<<first;
	}
    return 0;
}
2023/4/9 13:37
加载中...