main()
{
int M,N
int i,count,h
printf("输入总共人数N的值:")
scanf("%d",&N)
printf("\n输入第几个死M的值:")
scanf("%d",&M)
struct person
{int number<br>int nextp<br>}link[N+1]
for(i=1i<=Ni++)
{if(i==N)<br>link[i].nextp=1<br>else<br>link[i].nextp=i+1<br>link[i].number=i<br>}
printf("\n")
count=0
h=N
printf("这些人死亡的顺序是:\n")
while(count<N-1)
{i=0<br>while(i!=M)<br>{h=link[h].nextp<br>if(link[h].number)<br>i++<br>}
printf("%4d",link[h].number)
link[h].number=0
count++
}
printf("\n最后活下来的是")
for(i=1i<=Ni++)
if(link[i].number)
printf("%3d",link[i].number)
getch()
}
#include<stdio.h>void main()
{
int a[100], i = 0, n = 0
while (1)
{
n = n + 9
a[n] = n
for (i = n - 1i >= 1i--)
{
if (a[i + 1] % 9 != 0)
break
else
a[i] = a[i + 1] * 10 / 9 + i
}
if (i)
break
}
printf("共有%d个儿子\n财产分为%d份", n, a[1])
getchar()
}