为什么第28行不对呀!!!
查看原帖
为什么第28行不对呀!!!
1251726
lijingzejames楼主2024/12/3 20:38
#include<bits/stdc++.h>
using namespace std;

int main(){
	int n,question,sum=0;
	int equal;
	cin>>n;
	string s,t;
	for(int i=0;i<n;i++){
		cin>>s;
		question=s.find('?');
		equal=s.find('=');
		for(int j=0;j<s.size();j++){
			if(s[i]>='0' && s[i]<='9'){
				t[i]=s[i];
			}
			else{
				break;
			}
		}
		for(int j=t.size()-1;j>=0;j--){
			sum+=pow(t[i],j);
		}
		if(s[equal-2]=='m' && s[equal-3]=='k'){
			if(s[question+2]=='m' && s[question+3]=='m'){
				size_t position1=question;
				s.insert(position1,sum*1000000);
				sum=0;
			}
			else{
				size_t position2=question;
				s.insert(position2,sum*1000);
				sum=0;
			}
		}
		else if(s[equal-2]=='m' && s[equal-3]=" "){
			size_t position3=question;
			s.insert(position3,sum*1000);
			sum=0;
		}
		else if(s[equal-2]=='g' && s[equal-3]=='k'){
			if(s[question+2]=='m' && s[question+3]=='g'){
				size_t position4=question;
				s.insert(position4,sum*1000000);
				sum=0;
			}
			else{
				size_t position5=question;
				s.insert(position5,sum*1000);
				sum=0;
			}
		}
		else if(s[equal-2]=='g' && s[equal-3]=" "){
			size_t position3=question;
			s.insert(position3,sum*1000);
			sum=0;
		}
		cout<<s;
		s="";
	}
	return 0;
}
2024/12/3 20:38
加载中...