c語言的if判斷問題,需要大家幫助

時間 2022-03-12 21:00:03

1樓:匿名使用者

float p = rand() % 100;

p的值肯定是一個在0到99之間的整數

你之後的判斷是p小於p1,p2,p3,p4,p5你看的給的p1,p2什麼的的數值都是零點幾那麼只有在p等於0時才會滿足條件

要不然就不滿足

當然不會有輸出

你是寫錯了吧還是怎麼了

仔細看看。。。。。

2樓:匿名使用者

首先:變數應先定義後使用

其次:是你判斷的條件出現問題:p是從0~趨近100的浮點數,而在條件中:

例如 (k > p2 && p <= p3)中:p要滿足條件那麼這個機率就非常之小。這就是導致你(變數k在if之前正常,就是無法輸出)的問題。。。

3樓:匿名使用者

1.語法錯誤

p,k應該先定義後使用

2.邏輯錯誤

p = rand() % 100;

這樣p的值為 [0,100) ,所以不會滿足下面的任何一個判斷修改:float p, k;

srand((unsigned)time(null));

k = rand() % 100;

p = k / 100;

4樓:匿名使用者

if (k >=0 && k<= p1) //改成k值才好! , 下同

printf("%d\n", num_array[0]);

else if (k > p1 && k <=p2)printf("%d\n", num_array[1]);

else if (k > p2 && k <= p3)printf("%d\n", num_array[2]);

else if (k > p3 && k <= p4)printf("%d\n", num_array[3]);

else if (k > p4 && k <= p5)printf("%d\n", num_array[4]);

初級C語言條件判斷問題

1 if x 1 x 3 y 1 y 3 x 1 x 3 y 1 y 3 x 1 x 3 y 1 y 3 x 1 x 3 y 1 y 3 2 if abs x 1 abs x 3 abs y 1 abs y 3 這個題自己做不出來就不要學c c 了 額。我也不懂啊 書才看點點 呵呵 等我會了告訴你 ...

有關c語言程序設計的問題,麻煩大家幫幫忙

指標p指向結構體s的首地址 unsigned 型別的變數在記憶體中佔2個位元組,即16個bit s.b1 10 0x000a s.b2 6 0x0006 s.b3 5 0x0005 s.b4 0xaa s.b5 0x8 s.b6 0x15b unsigned b1 4 b1強制佔4bit 會造成資料...

c語言strlen判斷字元長度的問題

小八 不是6應該是5吧 因為你輸入的長度是4再加 0 所以是5 include include main 試試這樣的,你要是一個字元一個字元的輸入,if a i n 就沒意義了。 你定義的字元陣列char 4 他的長度就是5 上你的scanf 輸入後有個 0就6了 scanf s a 這樣 c語言中...