下面是我的代码,不论怎么输入都是这个结果,求求大神们了
#include
int main()
{
double sg;
double fq;
double mq;
char xb;
char yd;
char ys;
scanf("%c%d%d%c%c",&xb,&fq,&mq,&yd,&ys);
if(xb=='m'){
if(yd=='y'){
if(ys= 'y'){
sg=((fq+mq)*1.02*1.015*0.54);
}
else if(ys=='n'){
sg=(1.02*(fq+mq)*0.54);
}
}
else if(yd=='n'){
if(ys=='y'){
sg=(1.015*(fq+mq)*0.54);
}
else if(ys=='n'){
sg=((fq+mq)*0.54);
}
}
}
else if(xb=='f'){
if(yd=='y'){
if(ys=='y'){
sg=(1.015*1.02*(fq*0.923+mq)*0.5);
}
else if(ys=='n'){
sg=("%f\n",1.02*(fq*0.923+mq)*0.5);
}
}
else if(yd=='n'){
if(ys=='y'){
sg=(1.015*(fq*0.923+mq)*0.5);
}
else if(ys=='n'){
sg=((fq*0.923+mq)*0.5);
}
}
}
printf("%d\n",sg);
return 0;
}
程序至少有一个严重的错,你的输入/输出格式与类型不匹配,结果肯定不对
对double类型,你必须用%lf格式符而不能用%d的,而输出 ,也必须是%f或%lf
上一篇:洛克王国诺格佩勒性格什么好