c语言出现-858993460怎么办
下面是我的代码,不论怎么输入都是这个结果,求求大神们了#include<stdio.h>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 ",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 ",sg);return 0;}
程序至少有一个严重的错,你的输入/输出格式与类型不匹配,结果肯定不对
对double类型,你必须用%lf格式符而不能用%d的,而输出 ,也必须是%f或%lf
热门标签: