阅读背景:

【C语言】报3退圈

来源:互联网 

(1)用字母初始化:

#include <stdio.h>

void print(char *a,int n);//打印显示
void display(char *a,int n);//报3退圈

int main() 
{
    int n,i;
    printf("请输入参与游戏的人数:");
    scanf("%d",&n);

    char a[n];//赋值A、B、C...
    for(i=0;i<n;i++)
    {
        a[i]='A'+i;
            
    }
    char *p=a;
    printf("参加游戏的选手:\n");
    print(p,n);
    printf("\n");

    display(p,n);

    printf("最后留下的人是:");
    print(p,n);
    return 0;
}
void display(char *a,int n)
{
    int i=1;        //编号
    int count=n;    //当count=1时得结果
    int flag=0;     //循环报数

    while(count>1)
    {
        if(flag==n) 
            {
                flag=0;
               }
        if(a[flag]!='*') 
            {
                if(i==3) 
                {
                    a[flag]='*';
                    i=0;
                    count--;
                }
                i++;
            }
        flag++;
    }
}

void print(char *a,int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        if(a[i]!='*')
        {
            printf("a[%d]=%c ",i,a[i]);
            printf("\n");
        }
    }
}#include <stdio.h>

void



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: