中级光能
题目描述 Description
现在有两个一元二次方程,ax2+bx+c和dx2+ex+f,现在将这两个一元二次方程合并成一个,得到一个形如(a+d)x^2+(b+e)x+(c+f)的一元二次方程。
如果结果中,系数为0,则这一项不输出;如果系数为1,则系数不输出。
输入描述 Input Description
第一行,3个空格隔开的正整数,a b c
第二行,3个空格隔开的正整数,d e f
输出描述 Output Description
形如(a+d)x^2+(b+e)x+(c+f)的一元二次方程,这里的括号不需要打印出来
样例输入 Sample Input
-1 2 1
1 -3 -1
样例输出 Sample Output
-x
周建勋在2020-02-27 16:07:36追加了内容
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000],b[1000];
int main(){
int n, t, p;
bool f = true;
cin >> n;
p = n;
for(int i=0;i<n;i++){
cin>>t;
t=a[i]+b[i];
if(p==-1){
if(t==0) cout<<" ";
else cout<<"+"<<t;
continue;
}
if(t==0) {
p --;
continue;
}
if(t<0) cout << "-";
if(t>0 && !f) {
cout << "+";
}
if(abs(t)!=1 || p==0) cout << abs(t);
if(p>0) cout << "x";
if(p>1) cout << "^" << p;
p --;
f = false;
}
return 0;
}
周建勋在2020-02-27 16:09:04追加了内容
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000],b[1000];
int main(){
int n, t, p;
bool f = true;
cin >> n;
p = n;
for(int i=0;i<n;i++){
cin>>t;
t=a[i]+b[i];
if(p==-1){
if(t==0) cout<<" ";
else cout<<"+"<<t;
continue;
}
if(t==0) {
p --;
continue;
}
if(t<0) cout << "-";
if(t>0 && !f) {
cout << "+";
}
if(abs(t)!=1 || p==0) cout << abs(t);
if(p>0) cout << "x";
if(p>1) cout << "^" << p;
p --;
f = false;
}
return 0;
}哪错了?
初级启示者
直接模拟一遍,代入计算,如果a+d为0就不输出第一项,如果b+e为0就不输出第二项,如果c+f为0就不输出第三项
赵逸凡在2020-02-27 14:13:08追加了内容
赵逸凡在2020-02-27 14:15:40追加了内容
初级天翼
周建勋,这道题你没写啊。
我给你我的一些思路:
先将题目中所给的式子套一遍,然后根据上课邢老师的讲解,就是那一段里面的代码来完善化简
这样就可以AC啦
PS:龙舟想我没
望采纳,谢谢