猴子选大王问题
#include<iostream>
#include"windows.h"
using namespace std;
struct Monkey{
int number;
Monkey *next;
};
void main()
{
int n, m;
cout<<"请输入猴子的个数: ";
cin>>n;
Monkey *newaddr = new Monkey;
Monkey *first;
newaddr->number = 1;
newaddr->next = NULL;
first = newaddr;
for(int i = 2; i <= n; i++)
{
newaddr->next = new Monkey;
newaddr = newaddr->next;
newaddr->number = i;
}
newaddr = first;
newaddr = newaddr->next;
cout<<"请输入相隔的数字:";
cin>>m;
while(newaddr != (newaddr->next)){
Monkey * former;
for(int i = 0; i < m; i++)
{
former = newaddr;
newaddr = newaddr->next;
}
Monkey *temp = newaddr;
newaddr = newaddr->next;
former->next = newaddr;
cout<<"删除的编号是:"<<temp->number<<endl;
delete temp;
}
cout<<"大王的编号是:"<<newaddr->number<<endl;
system("pause");
}
删除的部分报错,但是不会改,求助!!!!