[PAT (Basic Level)] 1024 과학 계수 법 (20 점)
12008 단어 PAT
현재 과학 계수 법의 형식 으로 실수 A 를 드 립 니 다. 프로그램 을 작성 하여 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 유지 하도록 하 십시오.
[입력 형식]: 각 입력 은 테스트 용례 1 개, 즉 과학 계수 법 으로 표 시 된 실수 A 를 포함 합 니 다.이 숫자의 저장 길 이 는 9999 바이트 를 초과 하지 않 고 지수의 절대 치 는 9999 를 초과 하지 않 는 다.
[출력 형식]: 모든 테스트 용례 에 대해 한 줄 에서 일반 숫자 표현법 에 따라 A 를 출력 하고 모든 유효한 위치 가 보 존 됩 니 다. 끝의 0 을 포함 합 니 다.
【 샘플 1 입력 】:
+1.23400E-03
[출력 예시 1]:
0.00123400
【 샘플 2 입력 】:
-1.2E+10
[출력 예시 2]:
-12000000000
[조심 하 세 요]:
#include
#include
using namespace std;
int main()
{
string s;
cin >> s;
int i = 0, j;
int sum = 0;
for (i = 0; i < s.length(); i++)
{
if (s[i] == 'E')
{
for (j = i + 2; j < s.length(); j++)
{
sum = sum * 10 + (s[j] - '0');
}
if (s[0] == '-')
{
cout << '-';
}
if (sum == 0)// 0,
{
for (j = 1; j < i; j++)
{
cout << s[j];
}
}
else// 0
{
if (s[i + 1] == '+')// ,
{
cout << s[1];
if (sum < i - 3)// ,i-3
{
for (j = 3; j < 3 + sum; j++)
{
cout << s[j];
}
cout << ".";
for (j = 3 + sum; j < i; j++)
{
cout << s[j];
}
}
else//
{
for (j = 3; j < i; j++)
{
cout << s[j];
}
for (j = 1; j <= sum - (i - 3); j++)
{
cout << '0';
}
}
}
else// ,
{
cout << "0.";
for (j = 1; j < sum; j++)
{
cout << '0';
}
cout << s[1];
for (j = 3; j < i; j++)
{
cout << s[j];
}
}
}
return 0;
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PAT A 1049. Counting Ones (30)제목 The task is simple: given any positive integer N, you are supposed to count the total number of 1's in the decimal fo...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.