下面我来公布一下我的答案 想看看有没有高人用别的方法做出来:
第一种方法:
#include <stdio.h>
main()
{
    int i=0,j=0,count=0,m;
    int position[31];
    for(m=0;m<=30;m++)
        position[m]=m;
    while(count!=15)
    {
        while(j!=9)
        {
            i++;
            if(i>30)
                i=1;
            if(i<=30)
            {
                if(position[i]!=0)
                    j++;
            }
        }
        printf("%d\n",i);
        j=0;
        position[i]=0;
        count++;
    }
}
第二种方法:
#include<iostream>
using namespace std;
main()
{
    int i=0,n=0,x=0,l=0;
    int m;
    int a[30];
    int b[15];
    for(m=0;m<30;m++)
        a[m]=m;
    for(i=0;;i++)
    {
        n++;
        if(i<30)
        {
            for(x=0;x<15;x++)
            for(m=0;m<l;m++)
            {
                if(a[i]==b[m])
                    i++;
                if(i==30)
                    i=i-30;
            }
            if(n==9)
            {
                /*cout<<a[i];
                cout<<endl;*/
                b[l]=a[i];
                l++;
                
                n=0;
                if(l==15)
                    break;
            }
        }
        if(i>=30)
        {
            i=i-30;
            for(x=0;x<15;x++)
            for(m=0;m<l;m++)
            {
                if(a[i]==b[m])
                    i++;
                if(i==30)
                    i=i-30;
            }
            if(n==9)
            {
                b[l]=a[i];
                l++;
                /*cout<<a[i];
                cout<<endl;*/
                n=0;
                if(l==15)
                    break;
            }
        }
    }
    for(n=0;n<l;n++)
    {
        cout<<b[n]+1;
        cout<<endl;
    }
}
[此贴子已经被作者于2006-11-12 15:19:47编辑过]



											
	    

	




很简单嘛!用个循环语句就可以实现呀!每次输出第九个数就可以实现。实现三个控制,一个是控制总数小于15循环终止,每次循环第九次就输出。每次循环结束用前次总数减循环处理的数。