PAT B 급 1024 C 언어
과학 계수 법 은 과학자 들 이 매우 크 거나 작은 숫자 를 나타 내 는 편리 한 방법 으로 정규 표현 식 [±] [1 - 9] 를 만족 시 키 는 것 이다.현재 과학 계수 법의 형식 으로 실수 A 를 드 립 니 다. 프로그램 을 작성 하여 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 유지 하도록 하 십시오.입력 형식:
각 입력 에는 과학 계수 법 으로 표 시 된 실수 A 를 포함 하 는 테스트 용례 가 1 개 씩 포함 되 어 있다.이 숫자의 저장 길 이 는 9999 바이트 를 초과 하지 않 고 지수의 절대 치 는 9999 를 초과 하지 않 는 다.출력 형식:
모든 테스트 용례 에 대해 한 줄 에서 일반 숫자 표시 법 에 따라 A 를 출력 하고 모든 유효 위 치 를 보류 하 며 끝의 0 을 포함 합 니 다.
사고의 방향
여기 서 3 가지 상황 으로 나 뉘 는데 첫 번 째 는 앞 에 0.0000 을 채 워 야 하 는 거 고, 두 번 째 는 소수점 을 몇 자리 뒤로 옮 기 는 거 고, 세 번 째 는 뒤에 0 을 더 해서 지수의 크기 를 판단 한 다음 에 어떤 형식 인지 확인 하고 바 꿔 야 하 는 거 예요.
#include
#include
int main()
{
char a[10000];
int c=0,E;
scanf("%s",&a);
E=strchr(a,'E')-a;// a E -a
for(int i=E+2;i<strlen(a);i++)
{
c=c*10+a[i]-'0';
}
if(a[0]=='-') printf("-");//
if(a[E+1]=='-')//
{
printf("0.");//
for(int i=1;i<c;i++)
{
printf("0");// 0
}
for(int i=1;i<E;i++)
{
if(i!=2)
printf("%c",a[i]);//
}
}
else if(c<(E-3))// ,
{
for(int i=1;i<E;i++)
{
if(a[i]!='.')
printf("%c",a[i]);//
if(i==c+2) //
printf(".");
}
}
else// , 0
{
for(int i=1;i<E;i++)
{
if(a[i]!='.')
printf("%c",a[i]);
}
for(int i=0;i<c-E+3;i++)// 0
{
printf("0");
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.