提交上去题目有的说运行错误,然后一直找不到原因,测评点的输入输出都对了,今天终于发现问题所在,我原来一直用的codeblocks,测评系统用的DEV—C++,我的代码在codeblocks里编译运行都很好,复制到dev里面,再编译运行,输入过后就出错的,停止运行而不是输出错误。这尼玛坑爹啊。
![](http://imgsrc.baidu.com/forum/w%3D580/sign=a75b7b80a086c91708035231f93c70c6/034e87b7d0a20cf4033c61a771094b36adaf9962.jpg)
我的代码如下:
#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里能正常运行
![](http://imgsrc.baidu.com/forum/w%3D580/sign=8719a69f962397ddd679980c6982b216/16c45b061d950a7be029d1bc0dd162d9f3d3c9f3.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=a75b7b80a086c91708035231f93c70c6/034e87b7d0a20cf4033c61a771094b36adaf9962.jpg)
我的代码如下:
#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里能正常运行
![](http://imgsrc.baidu.com/forum/w%3D580/sign=8719a69f962397ddd679980c6982b216/16c45b061d950a7be029d1bc0dd162d9f3d3c9f3.jpg)
![](http://imgsrc.baidu.com/forum/pic/item/8435e5dde71190ef5b27fa40ce1b9d16fcfa6054.jpg?v=tbs)