?? main.cpp
字號:
#include<iostream>
#include<stdio.h>
using namespace std;
#define OK 1
#define OVERFLOW 0
typedef int ElemType;
typedef struct CirNode {
ElemType mima;
int Number;
CirNode *next;
}CirNode, *CirLinkList;
int CreateList_L(CirLinkList &L, int n) {
CirLinkList p,q;
L = (CirLinkList)malloc(sizeof(CirNode));
if(!L)
return OVERFLOW;
q = L;
for(int i = 1; i <= n; i++) {
p = (CirLinkList)malloc(sizeof(CirNode));
if(!p)
return OVERFLOW;
scanf("%d",&p->mima);
p->Number = i;
L->next = p;
L = L->next;
}
L->next = q->next;
L = L->next;
free(q);
return OK;
}
int GetNumElem_L(CirLinkList &L, int n, ElemType &e) {
CirLinkList q;
int i(1);
while(i) {
if(n == 1) {
q = L;
cout << L->Number << " ";
e = L->mima;
L = L->next;
free(q);
break;
}
if(i == n - 1) {
q = L->next;
L->next = q->next;
L = L->next;
e = q->mima;
cout << q->Number << " ";
free(q);
break;
}
i++;
L = L->next;
}
return OK;
}
int main()
{
int PeopleNum;
int m;
ElemType e;
CirLinkList L;
cout << "輸入人數為0時結束程序" << endl;
cout << "輸入首個密碼m:";
cin >> m;
cout << "輸入人數:";
cin >> PeopleNum;
cout << "輸入每個人的密碼:";
CreateList_L(L, PeopleNum);
while(PeopleNum) {
m = m % PeopleNum;
while(PeopleNum != 1) {
if(GetNumElem_L(L, m, e)) {
PeopleNum--;
m = e % PeopleNum;
if(PeopleNum == 1) {
cout << L->Number << endl;
free(L);
}
}
}
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -