求助!各位大佬看看,为啥感觉逻辑没问题的代码才80分!感谢!
查看原帖
求助!各位大佬看看,为啥感觉逻辑没问题的代码才80分!感谢!
572399
Kazuha_AMJR楼主2023/5/22 17:39
#include<bits/stdc++.h>
using namespace std;

char a[100005];
int b[100005];
char c[100005];
int num, sum=0, w=0, p=0, q=0;
int ka, kb;
int main(){
	cin>>a;
	for(int i=0;i<strlen(a);i++){
		if(a[i]!='*' && a[i]!='+'){
			while(a[i+w]>='0'&&a[i+w]<='9'){
				num = a[i+w]-'0' + num*10;
				w++;
			}
			i=i+w-1;
			b[p]=num%10000;
			num=0;
			p++;
			w=0;
		}else if(a[i]=='*' | a[i]=='+'){
			c[q]=a[i];
			q++;
		}
	}
	
	for(int j=0;j<strlen(c);j++){
		if(c[j]=='*'){
			b[j+1]=b[j]*b[j+1];
			b[j+1]=b[j+1]%10000;
			b[j]=0;
		}
	}
	for(int n=0;n<strlen(c)+1;n++){
		sum=sum+b[n];
		sum=sum%10000;
	}
	if(sum>9999){
		cout<<sum%10000;
	}else{
		cout<<sum;
	}
	return 0;
}

感谢!本蒟蒻感激不尽!

2023/5/22 17:39
加载中...