对整数 N 与 0 做三分支比较,直接输出 positive / zero / negative。
OJ: roj
题目 ID: 1039
难度:入门
标签:入门语法python
创建: 2026-09-29 15:38
更新: 2026-10-04 23:13
题目描述
给定一个整数 positive,zero,negative。
输入:一个整数
输出:按上述规则输出对应单词。
样例输入:
text
1样例输出:
text
positive思路
三个条件互斥且完备,直接用 if-else if-else 三分支比较 +/-/0。
参考代码
Python 版:
python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://rainboylvx
# rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-09-29 15:40
# update_at: 2026-09-29 15:40
import sys
SIGN_NAME = {1: "positive", 0: "zero", -1: "negative"} # 符号值 → 题面要求的单词
def sign(n: int) -> int:
"""n 的符号值:正数 1、零 0、负数 -1。"""
return (n > 0) - (n < 0)
def solve() -> None:
(n,) = map(int, sys.stdin.buffer.read().split())
print(SIGN_NAME[sign(n)])
if __name__ == "__main__":
solve()C++ 版(同一算法):
cpp
/**
* Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
* rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
* rainboy的学习导航网站: https://idx.roj.ac.cn
* create_at: 2026-10-04 23:13
* update_at: 2026-10-04 23:13
*/
// 判断一个整数的正负:三分支直接比较输出对应单词。
#include <cstdio>
typedef long long ll;
ll n; // 题目给的整数,范围 [-1e9, 1e9],int 也够,按惯例用 ll
int main() {
scanf("%lld", &n);
if (n > 0) printf("positive\n");
else if (n < 0) printf("negative\n");
else printf("zero\n");
return 0;
}