欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1073 Scientific Notation

程序员文章站 2022-07-15 10:30:53
...

1073 Scientific Notation

解题代码

#include<cstdio>
#include<cstring>
int main()
{
	char str[10000];
	scanf("%s", str);
	if (str[0] == '-') printf("-");
	int len = strlen(str);
	int pol = 0;
	while (str[pol] != 'E') { pol++; };
	int num = pol - 3;
	int a1, a2, E;
	sscanf(str, "%d.%dE%d", &a1, &a2, &E);
	if (E < 0) {
		printf("0.");
		for (int i = 0; i < -E - 1; i++) printf("0");
		printf("%c", str[1]);
		for (int i = 3; i < pol; i++) printf("%c", str[i]);
	}
	else if (num - E > 0) {
		printf("%c", str[1]);
		for (int i = 3; i < pol; i++) {
			if (!(E--)) printf(".");
			printf("%c", str[i]);
		}
	}
	else {
		printf("%c", str[1]);
		for (int i = 3; i < pol; i++) printf("%c", str[i]);
		for (int i = 0; i < E - num; i++) printf("0");
	}
	return 0;
}

测试结果

1073 Scientific Notation

问题整理

1.字符串处理。