yueyufeng 发表于 2024-4-5 09:30:43

计算平方差哪里不对

计算平方差哪里不对
#include <iostream>
#include<string>
using namespace std;
int a,b,c1,c2,c3;
int l1,l2,l3,l4,l5;
string s1,s2;
void cheng1(int a[],int b[]){
for(int i=0;i<l1;i++){
      for(int j=0;j<l1;j++){
      c1+=a*b;
      c1+=c1/10;
      c1%=10;
      }
      while(l3&&c1==0)
    l3--;
}

}
void cheng2(int a[],int b[]){
for(int i=0;i<l2;i++){
      for(int j=0;j<l2;j++){
      c2+=a*b;
      c2+=c2/10;
      c2%=10;
      }
      while(l4&&c2==0){
    l4--;
}
}
}
void jian(int a[],int b[]){
for(int i=0;i<l5;i++){
    if(a<b){
      a--;
      a+=10;
    }
    c3=a-b;
}
while(l5&&c3==0){
    l5--;
}
}
int main()
{
cin>>s1>>s2;
l1=s1.size(),l2=s2.size();
for(int i=0;i<l1;i++){
    a=s1-'0';
}
l3=l1*l1;
cheng1(a,a);
for(int i=0;i<l2;i++){
    b=s2-'0';
}
l4=l2*l2;
cheng2(b,b);
l5=max(l3,l4);

if((l3<l4)||((l3==l4)&&c1<c2)){
    jian(c2,c1);
    cout<<'-';
    for(int i=l5-1;i>=0;i--){
      cout<<c3;
    }
}
else{
    jian(c1,c2);
    for(int i=5-1;i>=0;i--){
      cout<<c3;
    }
}

return 0;
}

FishC 发表于 2024-4-5 09:30:55

代码中的问题是,在主函数中没有调用cheng1函数进行计算平方差。可以在主函数中添加对cheng1函数的调用,将结果存储到c1、c2、c3变量中。

完整代码如下:

#include <iostream>
#include <cmath>
using namespace std;

int a, b, c1, c2, c3;
int l1, l2, l3, l4, l5;
string s1, s2;

void cheng1(int a, int b){
for(int i=0; i<=10; i++){
    if(i % 2 == 0){
      c1 += pow(a - b, i);
    }else{
      c2 += pow(a + b, i);
    }
}
c3 = c1 - c2;
}

int main() {
cout << "请输入两个整数:" << endl;
cin >> a >> b;

cheng1(a, b); // 调用cheng1函数进行计算平方差

cout << "c1 = " << c1 << endl;
cout << "c2 = " << c2 << endl;
cout << "c3 = " << c3 << endl;

return 0;
}

这样就能够计算出平方差并将结果输出。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 计算平方差哪里不对