📄 fang_cheng.cpp
字号:
#include<iostream.h>
#include<math.h>
const int max=100;
int gene1[max],gene2[max];
void z_f(int& integer){
if(integer<0)integer=-integer;
return;
}
void gene(int integer,int& y){
z_f(integer);
for(int i=integer;i>=-integer;i=i-1){
for(int j=integer;j>=-integer;j=j-1){
if(integer==i*j){
gene1[y]=i;
gene2[y]=j;
y=y+1;
}
}
}
return;
}
int main(){
int gene_1[max],gene_2[max],gene_3[max],gene_4[max];
int i,j,k,m,n,y1,y2,a,b,c;
double x1,x2,deta;
cout<<"请输入方程的系数: ";
cin>>a>>b>>c;
y1=0;
gene(a,y1);
for(i=0;i<y1;i=i+1)gene_1[i]=gene1[i];
for(i=0;i<y1;i=i+1)gene_2[i]=gene2[i];
y2=0;
gene(c,y2);
for(i=0;i<y2;i=i+1)gene_3[i]=gene1[i];
for(i=0;i<y2;i=i+1)gene_4[i]=gene2[i];
for(i=0;i<y1;i=i+1){
for(j=0;j<y1;j=j+1){
for(k=0;k<y2;k=k+1){
for(m=0;m<y2;m=m+1){
if((b==(gene_1[i]*gene_4[m]+gene_2[j]*gene_3[k]))&&(a==gene_1[i]*gene_2[j])&&(c==gene_3[k]*gene_4[m])){
cout<<endl;n=1;
cout<<"利用因式分解得: "<<endl<<endl;
cout<<" "<<gene_1[i]<<"\\/"<<gene_3[k]<<"\n";
cout<<" "<<gene_2[j]<<"/\\"<<gene_4[m]<<endl<<endl;
cout<<"方程可化为: "<<"\n";
cout<<" (";
if(gene_1[i]==1){
cout<<"x";
}else{
cout<<gene_1[i]<<"x";
}
if(gene_3[k]<0){
cout<<"+"<<-gene_3[k]<<")(";
}else{
cout<<"-"<<gene_3[k]<<")(";
}
if(gene_2[j]==1){
cout<<"x";
}else{
cout<<gene_2[j]<<"x";
}
if(gene_4[m]<0){
cout<<"+"<<-gene_4[m]<<")=0"<<endl<<endl;
}else{
cout<<"-"<<gene_4[m]<<")=0"<<endl<<endl;
}
cout<<"所以方程的解是:"<<"\n";
cout<<" x1="<<double(gene_3[k])/gene_1[i]<<", x2="<<double(gene_4[m])/gene_2[j]<<"\n";
}if(n==1)break;
}if(n==1)break;
}if(n==1)break;
}if(n==1)break;
}
if(n!=1){
deta=b*b-4*a*c;
if(deta>=0){
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
cout<<"利用公式法可求得方程的解是:"<<"\n";
cout<<" x1="<<x1<<", x2="<<x2<<"\n";
}else{
cout<<"原方程没有解."<<endl;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -