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;
}
相关推荐
csdn_aspnet15 分钟前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
LuminousCPP41 分钟前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
张小姐的猫1 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
一只机电自动化菜鸟2 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
你干嘛?哎哟2 小时前
4月工作笔记
笔记
tom02182 小时前
软考中级《嵌入式系统设计师》全套备考资料(真题 + 教材 + 笔记)
笔记·嵌入式·软考·自学·电子技术·电子资料·变成
m0_629494733 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
壹号用户3 小时前
用队列实现栈
数据结构·算法
做人求其滴3 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣