PAT (Basic Level) Practise (중국어) 1024. 과학 계수 법 (20)
5789 단어 C 언어
현재 과학 계수 법의 형식 으로 실수 A 를 드 립 니 다. 프로그램 을 작성 하여 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 유지 하도록 하 십시오.
입력 형식:
각 입력 에는 과학 계수 법 으로 표 시 된 실수 A 를 포함 하 는 테스트 용례 가 1 개 씩 포함 되 어 있다.이 숫자의 저장 길 이 는 9999 바이트 를 초과 하지 않 고 지수의 절대 치 는 9999 를 초과 하지 않 는 다.
출력 형식:
모든 테스트 용례 에 대해 한 줄 에서 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 유지 하 며 끝의 0 을 포함 합 니 다.
입력 샘플 1: + 1.23400E - 03 출력 샘플 1: 0.001 23400 입력 샘플 2: - 1.2E + 10 출력 샘플 2: - 1200000000
사고방식: 밑 수 와 지 수 를 두 부분 으로 나 눈 다음 에 지수의 계산 방법 에 따라 계산한다.
#include <stdio.h>
#include <string.h>
int main()
{
char str[10000] = {0};
scanf("%s", str);
int len = strlen(str);
int pos = 0, exp = 0;
int i = 0;
for(i = 0; *(str + i) != 'E'; i++); // 'E'
pos = i;
if(*str == '-')
printf("-");
for(i = pos + 2; i < len; i++)
{
exp = exp * 10 + (*(str + i) - '0'); //
}
if(exp == 0)
{
for(i = 1; i < pos; i++)
printf("%c", *(str + i));
}
else if(*(str + pos + 1) == '-') //
{
printf("0.");
for(i = 0; i < exp - 1; i++)
{
printf("0");
}
for(i = 1; i < pos; i++)
{
if(*(str + i) != '.')
printf("%c", *(str + i));
}
}
else if(*(str + pos + 1) == '+') //
{
for(i = 1; i < pos; i++)
{
if(*(str + i) != '.')
printf("%c", *(str + i));
if(i == (exp + 2) && (exp + 2) < (pos -1))
printf(".");
}
for(i = 0; i< exp + 2 - (pos - 1); i++)
{
printf("0");
}
}
printf("
");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.