比较3个数字时的错误(其中1个为负数)(C eror in comparing 3 numbers (1 of them is negative))

编程入门 行业动态 更新时间:2024-10-27 06:21:07
比较3个数字时的错误(其中1个为负数)(C eror in comparing 3 numbers (1 of them is negative))

如果有人能帮我处理我的代码,那就太好了。 根据任务我有几个数字(至少1个负数)如果我得到3个数字> 0或= 0然后答案是0 .Cod应该找到最接近0的数字。 这是我的鳕鱼,但它不起作用。

#include <stdio.h> #include <conio.h> int main() { int uno, dos, tres; //numbers printf("enter your numbers"); scanf_s("%d %d %d", &uno, &dos, &tres); if (uno > 0 || uno == 0 && dos > 0 || dos == 0 && tres > 0 || tres == 0) printf("There is no negative numbers ..."); else if (uno == 0 || uno > 0 && dos > 0 || dos == 0 && tres < 0) printf("Your number is %d", &tres); else if (uno > 0 || uno == 0 && dos < 0 && tres < 0) if (dos < tres || tres == dos) printf("Your number is %d", &tres); else printf("Your number is %d", &dos); else if (uno < 0 && dos < 0 && tres < 0) if (uno < dos && uno < tres) if (dos < tres || tres == dos) printf("Your number is %d", &tres); else printf("Your number is %d", dos); else if (dos < uno && dos < tres) if (uno < tres|| uno==tres) printf("Your number is %d",& tres); else printf("Your number is %d", &uno); else if (tres < uno && tres < dos) if (uno < dos || uno==dos) printf("Your number is %d",&dos); else printf("Your number id %d",&uno); _getch(); return 0; }

感谢任何帮助。

it would be nice if someone would help me with my code . According to task i have a few numbers (at least 1 negative) in case i`m getting 3 numbers > 0 or = 0 then answer is 0 .Cod should find the closest to 0 number. Here is my cod but it is not working .

#include <stdio.h> #include <conio.h> int main() { int uno, dos, tres; //numbers printf("enter your numbers"); scanf_s("%d %d %d", &uno, &dos, &tres); if (uno > 0 || uno == 0 && dos > 0 || dos == 0 && tres > 0 || tres == 0) printf("There is no negative numbers ..."); else if (uno == 0 || uno > 0 && dos > 0 || dos == 0 && tres < 0) printf("Your number is %d", &tres); else if (uno > 0 || uno == 0 && dos < 0 && tres < 0) if (dos < tres || tres == dos) printf("Your number is %d", &tres); else printf("Your number is %d", &dos); else if (uno < 0 && dos < 0 && tres < 0) if (uno < dos && uno < tres) if (dos < tres || tres == dos) printf("Your number is %d", &tres); else printf("Your number is %d", dos); else if (dos < uno && dos < tres) if (uno < tres|| uno==tres) printf("Your number is %d",& tres); else printf("Your number is %d", &uno); else if (tres < uno && tres < dos) if (uno < dos || uno==dos) printf("Your number is %d",&dos); else printf("Your number id %d",&uno); _getch(); return 0; }

Appreciate any help.

最满意答案

逻辑OR(||)具有比逻辑AND(&&)更高的优先级,因此您应该添加一些括号。 例如。

if (uno > 0 || uno == 0 && dos > 0 || dos == 0 && tres > 0 || tres == 0)

应该成为

if ((uno > 0 || uno == 0) && (dos > 0 || dos == 0) && (tres > 0 || tres == 0))

Logical OR (||) has greater precedence than logical AND (&&) so you should add some parenthesis. eg.

if (uno > 0 || uno == 0 && dos > 0 || dos == 0 && tres > 0 || tres == 0)

should become

if ((uno > 0 || uno == 0) && (dos > 0 || dos == 0) && (tres > 0 || tres == 0))

更多推荐

本文发布于:2023-07-09 14:58:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1087161.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:负数   错误   数字   eror   numbers

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!