纯粹的逻辑判断题
2026-07-14 17:30:24
发布于:上海
8阅读
0回复
0点赞
没有什么大的难点,但要注意以下几个坑:
1.系数为 0 的项不输出.
2.如果多项式 n 次项系数为正,则多项式开头不出 + 号.
3.如果一个高于 0 次的项,其系数的绝对值为 1,则无需输出 1.
4.如果 x 的指数为 0,则仅需输出系数即可.
逻辑判断主要集中在这些方面。
下面是代码部分,欢迎指正:
#include <bits/stdc++.h>
using namespace std;
signed main() {
int n;
cin >> n;
for (int i = 0;i < n + 1;i ++) { //一个n项式,最多有n+1项
int each;
cin >> each;
if (i == 0) {
if (each != 0) { //判断最高次项系数,注意当为正整数时开头无符号
if (each != 1 && each != -1) {
cout << each << "x^" << n;
}
else if (each == 1) cout << "x^" << n; //分开处理正负两种情况,下同
else cout << "-x^" << n;
}
}
else if (i == n) { //判断常数项,注意结尾无"x^"
if (each > 0) cout << "+" << each;
else if (each < 0) cout << each;
}
else if (n - i == 1) { //判断一次项,注意结尾写为"x"
if (each != 1 && each != -1) {
if (each > 0) cout << "+" << each << "x";
else if (each < 0) cout << each << "x";
}
else { //判断其他项
if (each > 0) cout << "+x";
else if (each < 0) cout << "-x";
}
}
else {
if (each != 1 && each != -1) {
if (each > 0) cout << "+" << each << "x^" << n - i;
else if (each < 0) cout << each << "x^" << n - i;
}
else {
if (each > 0) cout << "+x^" << n - i;
else if (each < 0) cout << "-x^" << n - i;
}
}
}
}
给个赞吧谢谢!
这里空空如也






有帮助,赞一个