【发布时间】:2020-03-26 12:02:59
【问题描述】:
编写一个程序,用户输入 3 个浮点数,程序检查哪个是中等大小的数字。示例:a = 1.5、b = 7.8 和 c = 3.0,输出应为 c。
这是我尝试过的方法,它适用于一种情况,但我仍然在做太多的意大利面条代码,而且我还在学习如何有效地编写代码。
我的代码:
#include <stdio.h>
int main(){
float a, b, c;
scanf("%f %f %f", &a, &b, &c);
if(a < b && c < a)
printf("%.1f", a);
else if(b < a && b > c)
printf("%.1f", b);
else if(c > a && c < b)
printf("%.1f", c);
else
{
printf("not good"); //I wrote this part to check if the code is good
}
return 0;
}
我仍在尝试掌握if 循环的窍门,我只是对这个问题感到困惑。你有什么建议吗?
【问题讨论】:
-
请选择一种语言。也许您的代码是有效 C 代码和有效 C++ 代码的(罕见)案例之一,但最轻微的修改可以改变这一点
-
更多主题:
if和循环是两个不同的东西。具体是什么让您感到困惑?如果您有工作代码并想获得审查,那么codereview.stackexchange.com 是更好的提问地点,因为询问“任何建议”有被关闭的危险,因为这里过于宽泛/意见 -
这里有一个提示:
a有两种方式成为中间数字。 c -
如果两个数字相等或三个都相等,这个程序应该输出什么?说“假设这永远不会发生”也是有效的,但如果是这种情况,请在你的问题中提出这个限制。
标签: c++ c loops if-statement