「EZEC-1」成绩

这道题有毒(众所周知)。

是一道毒瘤模拟,但是我的错解也过了。

错误代码如下:(好像数据太水了,我这个没考虑小数后末尾为0)

#include<iostream>
#include<cstring>
using namespace std;
string s;
int main(){
	cin >> s;
	int bj = 0;
	for(int i=0;i<s.length();i++){
		if(s[i] == '.'){
			bj = i;
			break;	
		}
	}
	if(bj!=0){
		int zc = bj - 1,xc = 0;
		for(int i=0;i<s.length();i++){
			int flag = 0;
			if(i < bj){
				if(s[i]!='0'){
					cout << s[i] << "*1";
					for(int j=1;j<=zc;j++)printf("0");
					flag = 1;
				}
				zc--;
			}
			if(i > bj){
				if(s[i]!='0'){
					cout << s[i] << "*0.";
					for(int j=1;j<=xc;j++)printf("0");
					printf("1");
					flag = 1;
				}
				xc++;	
			}
			if(flag==1&&s[i+1]!=s.empty())printf("+");
		}
	}else{
		int zc = s.length() - 1,xc = 0;
		for(int i=0;i<s.length();i++){
			int flag = 0;
			if(i < s.length()){
				if(s[i]!='0'){
					cout << s[i] << "*1";
					for(int j=1;j<=zc;j++)printf("0");
					flag = 1;
				}
				zc--;
			}
			if(flag==1&&s[i+1]!=s.empty())printf("+");
		}
	}
}
暂无评论

发送评论 编辑评论

上一篇