提交上去题目有的说运行错误,然后一直找不到原因,测评点的输入输出都对了,今天终于发现问题所在,我原来一直用的codeblocks,测评系统用的DEV—C++,我的代码在codeblocks里编译运行都很好,复制到dev里面,再编译运行,输入过后就出错的,停止运行而不是输出错误。这尼玛坑爹啊。

我的代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
struct fushu
{
double shi;
double xu;
};
fushu *jia(fushu a,fushu b)
{
fushu *c;
(*c).shi=a.shi+b.shi;
(*c).xu=a.xu+b.xu;
return c;
}
fushu *jian(fushu a,fushu b)
{
fushu *c;
(*c).shi=a.shi-b.shi;
(*c).xu=a.xu-b.xu;
return c;
}
fushu *cheng(fushu a,fushu b)
{
fushu *c;
(*c).shi=a.shi*b.shi-a.xu*b.xu;
(*c).xu=a.shi*b.xu-a.xu*b.shi;
return c;
}
fushu *chu(fushu a,fushu b)
{
fushu *c;
(*c).shi=(a.shi*b.shi+a.xu*b.xu)/(b.shi*b.shi+b.xu*b.xu);
(*c).xu=(a.xu*b.shi-a.shi*b.xu)/(b.shi*b.shi+b.xu*b.xu);
return c;
}
int main()
{
fushu a,b;
double shi,xu;
char fuhao;
cin>>fuhao>>a.shi>>a.xu>>b.shi>>b.xu;
switch (fuhao)
{
case '*':shi=(*cheng(a,b)).shi;xu=(*cheng(a,b)).xu;break;
case '/':shi=(*chu(a,b)).shi;xu=(*chu(a,b)).xu;break;
case '+':shi=(*jia(a,b)).shi;xu=(*jia(a,b)).xu;break;
case '-':shi=(*jian(a,b)).shi;xu=(*jian(a,b)).xu;break;
}
cout<<setprecision(2)<<fixed<<shi<<"+"<<xu<<"i";
}
然后过测评系统说运行错误,实际上在codeblocks里能正常运行


我的代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
struct fushu
{
double shi;
double xu;
};
fushu *jia(fushu a,fushu b)
{
fushu *c;
(*c).shi=a.shi+b.shi;
(*c).xu=a.xu+b.xu;
return c;
}
fushu *jian(fushu a,fushu b)
{
fushu *c;
(*c).shi=a.shi-b.shi;
(*c).xu=a.xu-b.xu;
return c;
}
fushu *cheng(fushu a,fushu b)
{
fushu *c;
(*c).shi=a.shi*b.shi-a.xu*b.xu;
(*c).xu=a.shi*b.xu-a.xu*b.shi;
return c;
}
fushu *chu(fushu a,fushu b)
{
fushu *c;
(*c).shi=(a.shi*b.shi+a.xu*b.xu)/(b.shi*b.shi+b.xu*b.xu);
(*c).xu=(a.xu*b.shi-a.shi*b.xu)/(b.shi*b.shi+b.xu*b.xu);
return c;
}
int main()
{
fushu a,b;
double shi,xu;
char fuhao;
cin>>fuhao>>a.shi>>a.xu>>b.shi>>b.xu;
switch (fuhao)
{
case '*':shi=(*cheng(a,b)).shi;xu=(*cheng(a,b)).xu;break;
case '/':shi=(*chu(a,b)).shi;xu=(*chu(a,b)).xu;break;
case '+':shi=(*jia(a,b)).shi;xu=(*jia(a,b)).xu;break;
case '-':shi=(*jian(a,b)).shi;xu=(*jian(a,b)).xu;break;
}
cout<<setprecision(2)<<fixed<<shi<<"+"<<xu<<"i";
}
然后过测评系统说运行错误,实际上在codeblocks里能正常运行

