BUAA 소수 형식 과 과학 계수 법 전환 (간)
11947 단어 BUAA 데이터 구조c 언어데이터 구조
[문제 설명]
소수 로 표 시 된 부동 소수점 을 과학 계수 법 으로 출력 하 는 프로그램 을 만 듭 니 다.입력 한 데 이 터 는 기호 가 없고 소수점 앞 뒤 에는 반드시 숫자 가 있 으 며 모두 유효한 데이터 입 니 다. 즉, 소수점 뒤의 끝 숫자 는 0 이 아 닙 니 다.소수점 앞 에 한 자리 숫자 만 있 으 면 0 이 될 수 있 습 니 다. 그렇지 않 으 면 소수점 앞 에 있 는 가장 높 은 숫자 는 0 이 아 닙 니 다.
알림: 관련 데 이 터 를 문자열 로 저장 합 니 다.
【 입력 형식 】
콘 솔 에서 작은 수 를 입력 하고 마지막 으로 Enter 줄 바 꿈 문자 가 있 으 며 모든 입력 문자 수 는 100 을 초과 하지 않 습 니 다.
[출력 형식]
과학 계수 법 으로 데 이 터 를 출력 하 다.출력의 데 이 터 는 다음 과 같은 몇 가지 부분 으로 구성 된다. 1. 밑 에 있 는 부분 은 하나의 소수 나 정수 이 고 소수 라면 소수점 앞 뒤 에는 반드시 숫자 가 있 고 모두 유효한 숫자 이다.즉, 소수점 앞 에는 0 보다 큰 숫자 만 있 고 소수점 뒤의 끝 숫자 는 0 이 될 수 없다.정수 라면 소수점 이 없 는 숫자 가 한 자리 밖 에 없다.2. 소문 자 'e' 가 있어 야 한다.3. 지수 부분 은 하나의 정수 로 0 보다 크 면 플러스 '+' 를 가지 지 않 는 다.0 보다 작 으 면 마이너스 '-' 가 필요 하고 정수 의 최고 자리 숫자 는 0 이 아니다.
【 샘플 1 입력 】
0.000000000000002
[출력 예시 1]
2e-15
【 샘플 2 입력 】
8.9845623489651700659
[출력 예시 2]
8.9845623489651700659e0
【 샘플 입력 3 】
367298599999093453490394859509568659795603.4
[출력 예시 3]
3.672985999990934534903948595095686597956034e41
[예시 설명]
소수 로 데 이 터 를 입력 한 후 과학 계수 법 으로 출력 한다.
#include
#include
#include
char str[105];
int main()
{
fgets(str, 104, stdin);
int spot_count = 0, numb_start = 0, length = strlen(str);
for (int i = 0; i < length - 1; i++)
{
if (str[i] == '0')
continue;
if (str[i] != '0' && str[i] != '.')
{
if (numb_start != 0)
continue;
numb_start = i + 1;
if (str[0] == '0')
numb_start = i - 1;
}
if (str[i] == '.')
spot_count = i - 1;
}
if (str[0] == '0')
{
if (numb_start + 2 >= length - 1)
printf("%c", str[numb_start + 1]);
else
printf("%c.", str[numb_start + 1]);
for (int i = numb_start + 2; i < length - 1; i++)
{
printf("%c", str[i]);
}
printf("e-%d", abs(numb_start - spot_count));
}
// printf("%d %d", spot_count, numb_start);
if (str[0] != '0')
{
printf("%c.", str[numb_start - 1]);
for (int i = numb_start; i < length - 1; i++)
{
if (str[i] == '.')
continue;
printf("%c", str[i]);
}
printf("e%d", abs(numb_start - spot_count - 1));
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 프로그램과 C 언어의 차이에 대한 간단한 분석C 언어를 배운 우리에게 자바는 비교적 간단한 프로그래밍 언어라고 할 수 있다. Java 언어에서는 모든 변수를 먼저 선언해야 사용할 수 있습니다. 그렇지 않으면 프로그램이 실행될 수 없습니다.하나의 C 언어는 몇 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.