没区别
嗯嗯
题解比较压行(
欢迎 C 语言选手在讨论区分享提供面向新手的题解 QwQ
因为我懒得写所以我就不提供了 //逃
int main()
{
double x = 0;
char b,c,d;
int mh, fh;
scanf("%c", &b);
scanf("%d %d", &mh,&fh);
scanf("%c %c", &c, &d);
if (b = 'M')
{
x = (fh*1.0 + mh*1.0) * 0.54;
if (c = 'Y')
x *= (1 + 0.02);
if (d = 'Y')
x *= (1 + 0.015);
}
else if (b = 'F')
{
x = (fh*1.0*0.923 + mh*1.0) /2.0;//乘1.0只是为了转换成浮点型,不转也可以的
if (c = 'Y')
x *= (1 + 0.02);
if (d = 'Y')
x *= (1 + 0.015);
}
printf("%lf", x);
return 0;
}
这个过不了感觉可能是因为这个第三个scanf读取的时候会把前面输入的回车赋值给c,我的在scanf间加上getchar()丢弃回车就可以正常算出答案了