9도 OJ 문제 1116: 가감승제

1965 단어 북경대학
문제 1116: 더하기 빼기 곱하기
시간 제한: 1초
메모리 제한: 32메가바이트
특수 판제: 아니요
제출: 437
해결
제목 설명:
입력한 연산자에 따라 입력한 정수에 대해 간단한 정수 연산을 진행한다.연산자는 더하기 +, 빼기 -, 곱하기 *, 제/, 구여%, 곱하기!여섯 개의 연산자 중 하나.출력 연산의 결과, 제수가 0이면 "error"를 출력하고, 나머지 연산의 두 번째 연산수가 0이면 "error"를 출력합니다.
입력:
한 줄로 입력합니다.첫 번째 정수를 입력한 다음 연산자를 입력한 다음 두 번째 정수를 입력한 다음 이 입력을 마칩니다.연산자가 곱하기라면!기호는 두 번째 정수를 입력하지 않고 이 입력을 종료합니다.
출력:
여러 그룹의 테스트 데이터가 있을 수 있으며, 각 그룹의 데이터에 대해 한 줄을 출력합니다.입력한 연산자에 따라 계산된 결과나 "error"또는 입력한 두 개 (또는 하나) 수를 출력합니다.
샘플 입력:
12 + 34
54 - 25
3 * 6
45 / 0
5 !
34 % 0

샘플 출력:
46
29
18
error
120
error

팁:
연산은 정형 데이터의 범위를 초과하지 않는다.0!=일;테스트 데이터가 여러 그룹입니다.
출처:
2008년 베이징대학 도형실험실 컴퓨터 연구 생기시험 진제
/*********************************
*    :2013-2-13
*    :SJF0115
*    :  OJ  1116: 
*    :http://ac.jobdu.com/problem.php?pid=1116
*    :AC
*    :2008 
*    :
**********************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
	int i,len,sum,error,a,b;
	char c;
	while(scanf("%d ",&a) != EOF){
		scanf("%c",&c);
		// ! 
		if(c == '!'){
			sum = 1;
			for(i = 1;i <= a;i++){
				sum *= i;
			}
			printf("%d
",sum); } else{ error = 0; scanf(" %d",&b); // if(c == '+'){ sum = a + b; } // else if(c == '-'){ sum = a - b; } // else if(c == '*'){ sum = a * b; } // else if(c == '/'){ // , “error” if(b == 0){ error = 1; } else{ sum = a / b; } } // else if(c == '%'){ // 0, “error” if(b == 0){ error = 1; } else{ sum = a % b; } } // if(error == 1){ printf("error
"); } else{ printf("%d
",sum); } }//else }//for return 0; }

좋은 웹페이지 즐겨찾기