注册 登录
编程论坛 VC++/MFC

以下是用vc++实现猴子选大王程序。求输出界面优化指导。

响应 发布于 2011-07-03 18:53, 571 次点击
#include<stdio.h>
   

int length;

typedef struct monkey{
    int data;
    struct monkey *next;
}monkey,*linklist;
linklist Y;

linklist creat (linklist L)
{
    int i;
    linklist p,r;
    L=(linklist)malloc(sizeof(monkey));
    L->data=1;
    L->next=L;
    r=L;
    for(i=2;i<=length;i++)
    {
        p=(linklist)malloc(sizeof(monkey));
        p->data=i;
        p->next=L;
        r->next=p;
        r=p;
    }
    return L;
}



linklist choose (linklist L,int n)
{
    int i;
    linklist p,q;
    p=Y;
    if(n==2)
    {
        q=p->next;
        p->next=q->next;
         free(q);
        length--;
    }
    else
    {
        for(i=2;i<n;i++)
        {
             p=p->next;
        }
             q=p->next;
             p->next=q->next;
             free(q);
             length--;
        }
    if(length==1)
    {
        L=p;
        return L;
    }
    else
    {
        Y=p->next;
        choose(L,n);
    }
}



void main()
{
    linklist L=NULL;
    int m,n,a;
    printf("                     猴子选大王              \n");
    printf("请输入猴子的个数      :");
    scanf("%d",&m);
    length=m;
    L=creat(L);
    printf("\n猴子报数:       ");
    scanf("%d",&n);
    printf("\n猴子大王是:      ");
    if(n==1)
        printf("%d",m);
    else
    {
        Y=L;
        L=choose(L,n);
        a=L->data;
        printf("%d\n",a);
    }
}



        
2 回复
#2
vandychan2011-07-04 10:21
你想点优化?
#3
响应2011-07-04 16:53
回复 2楼 vandychan
就是像那种能输入一个由三角和星号构成的圆表示猴子,让程序输出能生动点。qq:708922896。。。有想法的希望能帮帮我。在此先谢过
1