1樓:匿名使用者
#include
#include
using namespace std;
struct node
;int main()
else
cout<<"請輸入第 "<>(p->code);
p->no=i;
}p->next=first; //讓表尾指向表頭形成迴圈連結串列p=first;
cout<<"出列順序為: ";
for (j=1;j<=n;j++)
cout< return 0;} c語言:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報 數),凡報到3的人退出圈子, 2樓:矜持№黷 #include #define n 100 void main() i++; if(i==n)i=0; } for(i=0;i 再送點詳解給你 #include #define n 50 // 排隊人數(可任意更改)#define cal 3 //凡報3的人出列(可任意更改)//下面是排隊編號函式:從h 開始的n個人依次編號1到nvoid stdline(int *h,int n)}void main() 3樓:蒼詩蕾魏珺 那就用陣列,對出去的元素標記下。 比如說a[n]=,f[n]= 凡是出去的標上f[i]=1; 這樣就好程式設計了。自己嘗試下吧。 4樓:匿名使用者 #include #define n 100 void main() if(i>=n-1) i=-1;//實現迴圈報數 }for(i=0;i if(a[i]!=0) printf("最後留下來的是第%d號\n",i+1);} 5樓:凌亂心扉 #include #define n 5//人數 void main() ,i=0,out_n=0,call_n=0,*p; p=a; while(1)//為0(即3)出局 }p++;if(p==a+n)p=a;//迴圈轉向下一人 }printf("最後剩餘者的編號是:%d\n",p+1-a); }printf()函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。 函式的原型為:int printf(const char*format,...);函式返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值。 printf()函式的呼叫格式為: printf("<;格式化字串》",《參量表》); 其中格式化字串包括兩部分內容:一部分是正常字元;這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。 參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。 規定符%d十進位制有符號整數 %u十進位制無符號整數 %f浮點數 %s字串 %c單個字元 %p指標的值 %e指數形式的浮點數 %x,%x無符號以十六進位制表示的整數 %o無符號以八進位制表示的整數 %g把輸出的值按照%e或者%f型別中輸出長度較小的方式輸出 %p輸出地址符 %lu 32位無符號整數 %llu 64位無符號整數 6樓:匿名使用者 void num(int n,int list) //n是人數,list是報的總數 7樓:蛋疼貨 c語言做起來比較慘 c++比較好做,用標準庫的queue就可以很容易實現。 8樓:就點到為止 約瑟夫問題,這個我知道,等晚上有時間幫你寫個** 9樓:水水 程式設計裡面不是隻有0 1 2這三個數嗎 怎麼會有3呢 c語言:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報 數),凡報到3的人退出圈子 10樓:匿名使用者 #include void main() ; //0表示退出圈子 printf("input n:"); scanf("%d", &n); for (i = 0; i < n; i++)i = 0; while (out != n-1) if (num == 3) i++; if (i == n) }for (i = 0; i < n; i++)}} 11樓:匿名使用者 那就用陣列,對出去的元素標記下。 比如說a[n]=,f[n]= 凡是出去的標上f[i]=1; 這樣就好程式設計了。自己嘗試下吧。 12樓:匿名使用者 其實只要定義一個陣列來標記有沒有出圈子就可以了,最後只留一個。 **有點亂,不過有註釋。 code: #include using namespace std; const int max = 2000; int main() i=1; int k=0; int p=0; while(1) }i++; if(k==n-1) break; //當拿出去的個數等於n-1時,就跳出,說明只剩一個了 } cout< for(i=1;i<=n;i++) if(c[i]) cout<
return 0;} 13樓:匿名使用者 不用指標,就不能動態刪除元素。做起來很麻煩,效率極低。而且最後陣列剩餘哪個元素也不好判斷,只能依靠報數次數來判斷是否只剩一人了。好吧,看在是女生,幫你寫寫: int n=100; int a[n],i,j=0; //賦初值 for(i=0;i=n) j-=n; a[j]=1; }//最後找到那個為零的值 for(i=0;i printf("the %dth person is still in the circle! \n",i); 14樓:匿名使用者 這個不是c語言程式設計的課後題麼???我以前學c語言時自己做出來了, 樓主不如自己動腦想想啊。。。 c語言程式設計:有n個人圍成一圈,按順序從1到n編號。從第一個人開始,報到3的人退出圈子。 15樓:凌亂心扉 #include int main(int argc,char*argv);printf("請輸入有幾個人玩遊戲:"); scanf("%d",&n); for(i=0;i for(i=1;i<4;i=i%3+1)//控制i的值在[0,3]if(0==a[j]) j=(j+1)%n; }for(i=0;i} 16樓:滄海雄風 #include struct serial ;void main() q->next =p->next ; printf("被刪除的元素:%-4d\n",p->num); p=q->next ; }printf("\n最後報號出來的是原來的:%d\n",p->num);}8 被刪除的元素:3 被刪除的元素:6 被刪除的元素:1 被刪除的元素:5 被刪除的元素:2 被刪除的元素:8 被刪除的元素:4 最後報號出來的是原來的:7 press any key to continue 17樓:匿名使用者 此題可用數學方法求解。 設有n個人(編號0~(n-1)),從0開始報數,報到(m-1)的退出,剩下的人繼續從0開始報數 (用數學方法解的時候需要注意應當從0開始編號,因為取餘會取到0解。) 實質是一個遞推,n個人中最終留下來的序號與n-1個人中留下來的人的序號有一個遞推關係式。 假設除去第k個人,則 0, 1, 2, 3, ..., k-2, k-1, k, ..., n-1 // 原始序列 (1) 0, 1, 2, 3, ..., k-2, , k, ..., n-1 // 除去第k人,即除去序號為k-1的人 (2) k, k+1, ..., n-1, 0, 1, ..., k-2 // 以序號k為起始,從k開始報0 (3) 0, 1, ..., n-k-1, n-k, n-k+1, ..., n-2 // 作編號轉換,此時佇列為n-1人 (4) 變換後就完完全全成為了(n-1)個人報數的子問題,注意(1)式和(4)式,是同一個問題,不同的僅僅是人數。比較(4)和(3),不難看出,0+k=k, 1+k=k+1, ... ,(3)式中'0'後面的數字,((n-3)+k)%n=k-3,((n-2)+k)%n=k-2, 對於(3)式中'0'前面的數字,由於比n小,也可看作(0+k)%n=k, (1+k)%n=k+1, 故可得出規律: 設(3)中某一數為x' , (4)中對應的數為x,則有:x'=(x+k)%n. 設x為最終留下的人序號時,佇列只剩下1人時,顯然x=0; 此時可向前回溯至2人時x對應的序號,3人時x對應的序號……直至n人時x的序號,即為所求。 #include const int m = 3; int main() return 0;} 18樓:餘啊水中游啊遊 這是約瑟夫環問題。 #include #define m 43/*總人數*/ #define n 3 #define start 0/*第一個報數的人*/void main(void) getch();} 19樓:小翼 經典約瑟夫環問題: // n個人(1..n)圍成一圈,從m開始報數,增量為k// 返回最後一個人的編號,o(n)複雜度; int josephus(int n,int k,int m) 20樓:匿名使用者 請問這個n有取值範圍嗎? 目前我有兩種思路,一種簡單的方式是用長度為n的陣列記錄,初始化為1,當計數到3是把對應的陣列下標輸出,並賦值為0.依次重複直到只剩下一個1. 第二種還是我的初步構想,找出退出的規律,可能可以用遞迴到n=1的情況。 21樓:華慧 我也不知道 等別人回答吧 c語言有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報 數)凡報到3的人退出圈子麻煩註釋下** 22樓:凌亂心扉 #include #define n 5//人數 void main() ,i=0,out_n=0,call_n=0,*p; p=a; while(1)//為0(即3)出局 }p++;if(p==a+n)p=a;//迴圈轉向下一人 }printf("最後剩餘者的編號是:%d\n",p+1-a); }printf()函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。 函式的原型為:int printf(const char*format,...);函式返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值。 printf()函式的呼叫格式為: printf("<;格式化字串》",《參量表》); 其中格式化字串包括兩部分內容:一部分是正常字元;這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。 參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。 規定符%d十進位制有符號整數 %u十進位制無符號整數 %f浮點數 %s字串 %c單個字元 %p指標的值 %e指數形式的浮點數 %x,%x無符號以十六進位制表示的整數 %o無符號以八進位制表示的整數 %g把輸出的值按照%e或者%f型別中輸出長度較小的方式輸出 %p輸出地址符 %lu 32位無符號整數 %llu 64位無符號整數 絕無可能剩1個人,最後必須剩2個人,剩下的是0,1兩個人 private sub command1 click form1.cls dim a 1 to 17 as integerdim i as integer,j as integer,k as integer for i 1 to 17 a i... 潰瘍,敷上一點白砂糖,不要嚥下嘔。多幾次,一天就好。疼不疼?看起來像是上火起潰瘍了 我的舌頭最近怎麼老出現白色的圈圈 就是一圈白 圈 考慮是鵝口瘡引起的症狀,建議到醫院口腔科確診,多飲水,多吃蔬菜和水果,不要食用辛辣刺激性食物 舌頭上起了一圈一圈白色的怎麼回事 你好,根據你的描述,但是沒有看到 考慮... 在不同的緯度,緯線圈長度不同,赤道長度大約是4萬公里,而緯度60度的緯線圈是2萬公里長,地球上最大的圓就是赤道圈或者經線圈,4萬公里 赤道半徑 是6378.137km 赤道周長 40075.7km 這樣衛星軌道半徑是6750km左右,這樣算出來衛星軌道周長是42000km左右,也是約四萬公里 是地球...vb有人圍成一圈編號為016第0號的人
舌頭有白色一圈,舌頭上起了一圈一圈白色的怎麼回事
地球要一圈有多少公里,地球一圈有多少公里