输入之后程序直接结束,求助
查看原帖
输入之后程序直接结束,求助
569087
passing_dragon楼主2021/9/26 19:27

第一次用循环链表,输入之后没有结果,程序直接结束,求解答一下是什么问题

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 100 + 5;
typedef struct People
{
	int date;
	People* next;
}peo;
peo* people[maxn];
int main()
{
	int n = 0, m = 0;
	cin>>n>>m;
	people[maxn]= (peo*)malloc(maxn*sizeof(peo));
	for(int i = 1; i < n; i++)
	{
		if(!people[i]){
			exit(0);
		}
		people[i]->date = i;
		people[i]->next = people[i + 1];
	}

	people[n]->date = n;
	people[n]->next = people[1];
	struct People *head,*pre;
	head = (peo*)malloc(sizeof(peo));
	pre = (peo*)malloc(sizeof(peo));
	pre = people[n];
	head = people[1];
	int number = 0;
	while(n>1)
	{
		number++;
		if(number%m == 0)
		{
			printf("%d ",head->date );
			pre->next = head->next;
			head = head->next ;
		}
		else
		{
			pre = pre->next ;
			head = head->next ;
		}
		n--;
	}
	printf("%d\n",head->next );
}
2021/9/26 19:27
加载中...