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語言中...