9도 OJ 문제 1116: 가감승제
1965 단어 북경대학
시간 제한: 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;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[하 이 호 한번]3 주차 KMP 알고리즘.KMP 알고리즘 의 핵심 사상 은 일치 실패 시 패턴 문자열 의 역 추적 수 를 줄 여 일치 횟수 를 줄 이 는 것 이다.이때 거 슬러 올 라 갈 때 next 배열 을 사용 합 니 다. 이것 을 대조 해서 KMP 의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.