當前位置:係統粉 > 電腦問答 > 其他問答 > 煩請幫忙指點一下

煩請幫忙指點一下

提問者:樓上樓下沒高潮  |  瀏覽 次  |  提問時間:2017-01-14  |  回答數量:9

煩請幫忙指點一下在某次實彈射擊訓練中,班長將十個戰士圍成一圈發子彈,首先,班長給第一個戰士10顆,第二個戰士2顆,第三個戰士8顆,第四個戰士22顆,第五個戰士16顆,第六個戰士4顆,第七個戰士10顆,第八個戰士6顆,第九個戰士14顆,第十個戰士20顆,然後按如下方法將每個戰士手中的子彈進行調整,所有的戰士檢查自己手中的子彈數,如果子彈數為奇數,則向班長再要一顆,然後每個戰士再同時將自己手中的子彈分一半給下一個戰士(第10個戰士將手中的子彈分一半給第一個戰士)。問需要多少次調整後,每個戰士手中的子彈數都相等 ?每個人各有多少顆子彈?牋牋 要求:輸出每輪調整後戰士手中的子彈數。牋牋 要求結果的輸出格式為牋牋0牋 10牋 2牋 8牋 22牋 16牋 4牋 10牋 6牋 14牋 20 各戰士手中原始的子彈數牋牋1牋 xx牋xx牋xx牋xx牋牋xx牋 xx牋xx牋xx牋 xx牋 xx 第1輪各戰士手中的子彈數牋牋2牋 xx牋xx牋xx牋xx牋牋xx牋 xx牋xx牋xx牋 xx牋 xx 第2輪各戰士手中的子彈數牋牋牋牋牋……牋牋 n牋 xx牋xx牋xx牋xx牋牋xx牋 xx牋xx牋xx牋 xx牋 xx 最後一輪各

已有9條答案
栩小魚

栩小魚

回答數:7  |  被采納數:62

2017-01-14 05:37:46
誰會做,指點一下
QQ:562347598
讚 0
叫我凜凜蝶大人

叫我凜凜蝶大人

回答數:64  |  被采納數:77

2017-01-14 04:29:17
感覺應該是這裏的while循環條件不對,但是不知道原因
讚 6
想的願

想的願

回答數:79  |  被采納數:49

2017-01-14 11:02:04
while哪個地方我想應該換成FOR語句而且還應該是個嵌套才對!
比對的時候應該是讓第一個戰士和其他9位比對,第2位和其他8位比對,以此類推。。。
讚 7
海天一色屏山遠

海天一色屏山遠

回答數:146  |  被采納數:42

2017-01-14 08:36:59
樓主這樣沒錯啊
讚 14
鏡柱桑

鏡柱桑

回答數:32  |  被采納數:64

2017-01-14 09:01:40
#include<stdio.h>#include<conio.h>void main(){int a[10] = {10, 2 ,8, 22, 16 ,4, 10, 6 ,14, 20};int b[10] ;int i = 0 , j = 0,n=0 ;while (a[0] != a[1]||a[1] != a[2]||a[2] != a[3]||a[3] != a[4]||a[4] != a[5]||a[5] != a[6]||a[6] != a[7]||a[7] != a[8]||a[8] != a[9]||a[9] != a[0] ){printf("%4d" , j++);for (i=0; i < 10; i++){printf("%4d" , a[i]);}printf("\n");for( i=0 ; i < 10 ; i++) { if(a[i] % 2 == 1){a[i] = a[i] + 1;}}for( i=0 ; i < 10 ; i++){a[i] = a[i] / 2;b[i] = a[i];}for( i=0 ; i < 10 ; i++){if(i != 0){a[i] = a[i] + b[i - 1];}else a[i] = a[i] + b[9];}}getch();}複製代碼

(1)

讚 3
南宮世軒

南宮世軒

回答數:87  |  被采納數:62

2017-01-14 12:03:43
就如樓上的圖片,結果應該是所有的數全是一樣的,但是就是有兩個數是17,所以這裏有問題,但是目前我還沒有找到原因。
希望能得到大家的幫忙。
謝謝。
讚 8
杅九

杅九

回答數:2  |  被采納數:17

2017-01-14 19:05:26
就是這樣啊,這樣就完了,那兩個數是17奇數,再各要一個就成18了,因為都是18了,所以都相等了就不進循環了,如果你想讓它在屏幕上顯示的話,可以在循環完後加上這樣一句 printf("&4d",j);for (i=0;i<10;i++){printff("%d",a[i]);}複製代碼
讚 0
玉米筍

玉米筍

回答數:217  |  被采納數:41

2017-01-14 16:26:51
#include<stdio.h>#include<conio.h>void main(){int a[10] = {10, 2 ,8, 22, 16 ,4, 10, 6 ,14, 20};int b[10] ;int i = 0 , j = 0,n=0 ;while (a[0] != a[1]||a[1] != a[2]||a[2] != a[3]||a[3] != a[4]||a[4] != a[5]||a[5] != a[6]||a[6] != a[7]||a[7] != a[8]||a[8] != a[9]||a[9] != a[0] ){printf("%4d" , j++);for (i=0; i < 10; i++){printf("%4d" , a[i]);}printf("\n");for( i=0 ; i < 10 ; i++) { if(a[i] % 2 == 1){a[i] = a[i] + 1;}}for( i=0 ; i < 10 ; i++){a[i] = a[i] / 2;b[i] = a[i];}for( i=0 ; i < 10 ; i++){if(i != 0){a[i] = a[i] + b[i - 1];}else a[i] = a[i] + b[9];}} printf("%4d",j);for (i=0; i<10; i++){ printf("%4d",a[i]);}getch();}複製代碼(2)
讚 21
5262131

5262131

回答數:45  |  被采納數:50

2017-01-15 00:16:34
哦,曉得了,一語驚醒夢中人,謝謝了。
讚 4
解決方法
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航