POJ 2930 가감승제

3463 단어
시간 제한:
1000ms
메모리 제한:
 
65536kB
묘사
입력한 연산자에 따라 입력한 정수에 대해 간단한 정수 연산을 진행한다.연산자는 더하기 +, 빼기 -, 곱하기 *, 제/, 구여%, 곱하기!여섯 개의 연산자 중 하나.출력 연산의 결과, 제수가 0이면 "error"를 출력하고, 나머지 연산의 두 번째 연산수가 0이면 "error"를 출력합니다.
입력
한 줄로 입력합니다.첫 번째 정수를 입력한 다음 연산자를 입력한 다음 두 번째 정수를 입력한 다음 이 입력을 마칩니다.연산자가 곱하기라면!기호는 두 번째 정수를 입력하지 않고 이 입력을 종료합니다.
출력
한 줄로 내보냅니다.입력한 연산자에 따라 계산된 결과나 "error"또는 입력한 두 개 (또는 하나) 수를 출력합니다.
샘플 입력
12 + 3454 – 253 * 645 / 05 !34 % 0

샘플 출력
462918error120error

 
(1), 소스 코드:
#include
 
using
 
namespace
 
std;
 
int
 
main(){
                
int
 
i, n, a, b, sum;
                
char
 
c;
                
                
while
(cin >> a >> c){
                                
switch
(c){
                                
case
 
'*'
:cin >> b;
                                                cout << a * b << endl;
                                                
break
;
                                
case
 
'/'
:cin >> b;
                                                
if
(0 == b)
                                                                cout <<
 
"error"
;
                                                
else
                                                                cout << a/b << endl;
                                                
break
;
                                
case
 
'%'
:cin >> b;
                                                
if
(0 == b)
                                                                cout <<
 
"error"
;
                                                
else
                                                                cout << a%b << endl;
                                                
break
;
                                
case
 
'+'
:cin >> b;
                                                cout << a + b << endl;
                                                
break
;
                                
case
 
'-'
:cin >> b;
                                                cout << a - b << endl;
                                                
break
;
                                
case
 
'!'
:sum = 1;
                                                
for
(i = 2; i <= a; i++)
                                                                                 sum *= i;
                                                cout << sum << endl;
                                                
break
;
                                }
                }
   
 
return
 
0;
}
  
(2), 문제 풀이 사고방식: 약간
(3), 오류 가능성: 약관
 
 
다음으로 전송:https://www.cnblogs.com/lydf-2012/archive/2012/05/11/2496622.html

좋은 웹페이지 즐겨찾기