这题绝对值不超过100,我真不知道为什么这题要放到“字符串处理这一章(绝对吐槽)
复杂度O(n)
这题对我来说没有算法在里面,把每个情况写一下就可以。
下面请欣赏解析
#include<bits/stdc++.h>//万能
using namespace std;
int main(){
int n,s;
bool f=0;//f的初始值
cin>>n;//输入
for (int i=n;i>=0;i--){//从n到0循环
cin>>s;//输入s
if(!s)//如果s是0
continue;//不需经过任何操作,跳过
if(f&&s>0)//f初始值为0的原因是然刚开始不会有任何符号,大于0输出+
cout<<'+';
else if(s<0)//小于0输出-
cout<<'-';
if(abs(s)!=1||!i)//不是1或-1的要输出数字
cout<<abs(s);
if(i)//i不是0,输出x
cout<<'x';
if(i>1)//i比1大要输出^
cout<<'^'<<i;
f=1;
}
return 0;
}
参考文献
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s;
bool f=0;
cin>>n;
for (int i=n;i>=0;i--){
cin>>s;
if(!s)
continue;
if(f&&s>0)
cout<<'+';
else if(s<0)
cout<<'-';
if(abs(s)!=1||!i)
cout<<abs(s);
if(i)
cout<<'x';
if(i>1)
cout<<'^'<<i;
f=1;
}
return 0;
}
帮忙点个赞,谢谢!(点赞者我关注,我关注的人也关注下我【偷笑】)
我点赞了,关注我
谢谢诶
我点赞了,昆昆,关注我