C++ PAT训练7

算法组-唐梓涵 2024-02-05 23:04:14

1023

0最后插入即可

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
	string result;
	vector<int> num(10);
	for (int i = 0; i < 10; i++) {
		cin >> num[i];
	}
	for (int i = 1; i < 10; i++) {
		while (num[i]--) {
			result += (i + '0');
		}
	}
	while (num[0]--) {
		result.insert(1,"0");
	}
	cout << result;
}

1024

查阅资料,决定使用regex来规定输入样式

#include <iostream>
#include<regex>
using namespace std;
int main() {
	string input;
	getline(cin, input);
	string result;
	regex standard(R"(^([+-])([1-9])\.([0-9]+)[E]([+-])([0-9]+)$)");//这里使用regex的定义输入
	smatch data;
	regex_match(input, data, standard);
	
	result += data[2];
	result += data[3];
	if (data[4] == "+") {
		if (stoi(data[5]) < (result.size() - 1)) {
			result.insert(stoi(data[5]) + 1, ".");
		}
		else {
			string a(stoi(data[5]) - (result.size() - 1), '0');
			result += a;
		}
	}
	else {
		string b(stoi(data[5]) - 1, '0');
		string title = "0.";
		result = title + b + result;
	}
	if (data[1] == "-") {
		result = "-"+result;
	}
	cout << result;
}

 

...全文
73 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

342

社区成员

发帖
与我相关
我的任务
社区描述
一个供Leaders学习交流的地方
c++javapython 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • 叫我胡萝北
  • CheungZzzc
  • szu_gexu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧