항전 ACM HDU 1228 A + B
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9374 Accepted Submission(s): 5364
Problem Description
100 보다 작은 정수 A 와 B 두 개 를 읽 고 A + B 를 계산 합 니 다.
주의해 야 할 것 은 A 와 B 의 모든 숫자 는 해당 하 는 영어 단어 에 의 해 제 시 됩 니 다.
Input
테스트 입력 은 몇 가지 테스트 용례 를 포함 하고 있 습 니 다. 모든 테스트 용례 는 한 줄 을 차지 합 니 다. 형식 은 'A + B =' 이 고 인접 한 두 문자열 은 빈 칸 간격 이 있 습 니 다. A 와 B 가 동시에 0 일 때 입력 이 끝나 면 해당 결 과 는 출력 하지 마 십시오.
Output
모든 테스트 용례 에 1 줄, 즉 A + B 의 값 을 출력 합 니 다.
Sample Input
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
Sample Output
3
90
96
Source
절 대 컴퓨터 대학원 재시험
Recommend
JGShining
#include <cstdio>
#include <string.h>
int f(char str[]){
if(!strcmp(str,"zero"))return 0;
if(!strcmp(str,"one"))return 1;
if(!strcmp(str,"two"))return 2;
if(!strcmp(str,"three"))return 3;
if(!strcmp(str,"four"))return 4;
if(!strcmp(str,"five"))return 5;
if(!strcmp(str,"six"))return 6;
if(!strcmp(str,"seven"))return 7;
if(!strcmp(str,"eight"))return 8;
if(!strcmp(str,"nine"))return 9;
}
int main(){
char str[30];
int a,b;
while(1){
a=b=0;
while(1){
scanf("%s",str);
if(!strcmp(str,"+"))break;
else a=a*10+f(str);
}
while(1){
scanf("%s",str);
if(!strcmp(str,"="))break;
else b=b*10+f(str);
}
if(a==0&&b==0)break;
printf("%d
",a+b);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ACM - 계산 기하학 적 Pick - up sticks -- poj 2653Description Stan has n sticks of various length. The data for each case start with 1 <= n <= 100000, the number of stick...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.