01|多项式输出

一、核心思路

多项式可以看作由符号和数字两部分组成,其中数字又包括系数和次数,故核心思路即按次数从高到低遍历 → 逐顶处理(符号→系数→次数)同时符合数学书写规范

二、细节注意

1.符号处理:首项的正号隐藏

2.系数处理:由于已经处理过符号,只需处理绝对值;系数为0的项需要跳过(同时k递减);对于非常数项且系数等于1的项需要隐藏系数

3.次数处理:次数为1的项需要隐藏

三、代码实现

cpp 复制代码
int main() {
int n; cin >> n;
	for (int i = n; i >= 0; i--)
	{		
		int s;	cin >> s;
		// 符号
		if (s > 0 && i != n) cout << "+"; //非首项 
		else if (s < 0)cout << "-";	 
		// 数字 
		
		// 1.系数	绝对值 
		s = abs(s);
		if (s == 0) continue; // 系数为0,不输出 
		if (s != 1 || i == 0 ) cout << s; 
		
		// 2.次数 
		if (i == 0) continue;
		if (i > 1)	
		{
			cout << "x^";							
			cout << i; 	
		}
		if (i == 1) cout << "x";				
	}
	return 0;
}
相关推荐
程序员Jared2 小时前
C++11—mutex
c++
朔北之忘 Clancy2 小时前
2025 年 9 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·数学·青少年编程·题解
Xの哲學2 小时前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
量子炒饭大师2 小时前
【C++入门】Cyber底码作用域的隔离协议——【C++命名空间】(using namespace std的原理)
开发语言·c++·dubbo
AlenTech2 小时前
200. 岛屿数量 - 力扣(LeetCode)
算法·leetcode·职场和发展
C雨后彩虹2 小时前
竖直四子棋
java·数据结构·算法·华为·面试
REDcker3 小时前
RTCP 刀尖点跟随技术详解
c++·机器人·操作系统·嵌入式·c·数控·机床
楚Y6同学3 小时前
基于 Haversine 公式实现【经纬度坐标点】球面距离计算(C++/Qt 实现)
开发语言·c++·qt·经纬度距离计算
不如自挂东南吱3 小时前
空间相关性 和 怎么捕捉空间相关性
人工智能·深度学习·算法·机器学习·时序数据库