קודם כל התנאים שלך לא נכונים לוגית וסינטקסית.בגלל שכל תנאי אצלך צמוד לתנאי שלפניו אז הוא גם תלוי בהצלחה שלו והקוד יוכל "להתבצע" רק כש (if (a>b יתבצע.
ברגע שאתה מתחיל תנאי תדאג קודם כל לתת לו בלוק משלו (כלומר {}).
ברגע שתעשה את זה הקוד ייראה יותר טוב ויהיו לך פחות טעויות.
לדוגמא אם רשמת "if תנאי מסויים אז...." קודם כל תעשה בלוק {}, ורק אז
תרשום בבלוק את מה שצריך במידה והתנאי מתבצע.
כשאתה רוצה לבדוק כמה תנאים שמתקיימים ביחד, אז תעשה את זה באמצעות "&&" (וגם) ולא "if תנאי.... if תנאי...". זה הרבה יותר נכון לוגית.
הprintf שלך לא נכון, הוא מצפה לקבל משתנה אחד (%d) בכל פעם, ואתה נותן
לו 3.
הקוד המתוקן:
#include <stdio.h> void main() { int a,b,c; printf("please enter three number\n"); scanf("%d", &a); scanf("%d", &b); scanf("%d", &c); if ((a > b) && (a > c)) { printf("this was the biggest number: %d\n" ,a); } else if ((b > a) && (b > c)) { printf("this was the biggest number: %d\n" ,b); } else if ((c > a) && (c > b)) { printf("this was the biggest number: %d\n" ,c); } else { printf("something aint right\n"); } }
|