PAT B 급 1024. 과학 계수 법 (20)
현재 과학 계수 법의 형식 으로 실수 A 를 드 립 니 다. 프로그램 을 작성 하여 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 유지 하도록 하 십시오.
입력 형식:
각 입력 에는 과학 계수 법 으로 표 시 된 실수 A 를 포함 하 는 테스트 용례 가 1 개 씩 포함 되 어 있다.이 숫자의 저장 길 이 는 9999 바이트 를 초과 하지 않 고 지수의 절대 치 는 9999 를 초과 하지 않 는 다.
출력 형식:
모든 테스트 용례 에 대해 한 줄 에서 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 유지 하 며 끝의 0 을 포함 합 니 다.
입력 샘플 1:
+1.23400E-03
출력 예시 1:
0.00123400
입력 샘플 2:
-1.2E+10
출력 예시 2:
-12000000000
제출 코드
문제 풀이 코드
#include
#include
int main() {
char str[10010];
gets(str);
int len = strlen(str);
if(str[0] == '-') printf("-");// , -
int pos =0; //pos E
while(str[pos] != 'E') {
pos++;
}
int exp = 0; // ( )
for(int i = pos + 2; i < len; i++) {
exp = exp * 10 + (str[i] - '0');
}
if(exp == 0) { // 0
for(int i = 1; i < pos; i++) {
printf("%c", str[i]);
}
}
if(str[pos +1] == '-') { //
printf("0.");
for(int i = 0; i < exp - 1; i++) { // exp -1 0
printf("0");
}
printf("%c", str[1]); //
for (int i = 3; i < pos; i++) {
printf("%c", str[i]);
}
} else {
for(int i = 1; i < pos ; i++) {
if(str[i] == '.') continue;//
printf("%c", str[i]);//
if(i == exp + 2 && pos - 3 != exp) { // exp + 2
printf(".");
}
}
for(int i = 0; i < exp - (pos - 3); i++) {
printf("0");
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.