文档介绍::HKEY_LOCAL_MACHINE|SOFTWARE|Microsoft|Windows|CurrentVersion|Uninstall,并在 Uninstall 中建立一个名为 KB 的子键。(如果已经存在则无需建立)
KB 子键的“默认”值,将其值设置为:This Key is required to STOP Windows Update from prompting for an install。然后关闭注册表编辑器并重新启动 Windows。
Windows 后,再次打开注册表编辑器,定位到:HKEY_LOCAL_MACHINE|SOFTWARE|Microsoft|Updates|Windows XP|SPX(其中 SPX 的 X 是数字,如果你
的系统是 Windows XP SP2,则 X 是 3;如果是 Windows XP SP1,则 X 是 2),把这个注册表项中的 KB 子键删除。然后关闭注册表编辑器并重新启动 Windows。
典型的约瑟夫环问题。
原问题比你的问题要复杂一点。
我以前写的程序:
。
# include ""
# define SIZE 100
main()
{
    int m,n,i;
    int array[SIZE];
    printf("约瑟夫环求解,当前设置最大人数为%d.\n",SIZE);
    printf("报数上限:\n");
    scanf("%d",&m);
    printf("总人数为:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    printf("第%d人的密码为:",i+1);
    scanf("%d",&array[i]);
    }
    joseph(array,m,n);
}
int joseph(a,m,n)
int a[],m,n;
{
    int b[SIZE];        /*计录编号数组.*/
    int i;                /*计数器.*/
    int flag=0;
    int code;            /*删取人的号码.*/
    int sum=n;            /*现存人数.*/
    int point=0;        /*当前报数人的位置.*/
    int num=m;
    for(i=0;i<n;i++)    /*计录数组.*/
    {
    b[i]=i+1;
    }
    while(sum!=0)        /*当人数不为零时继续循环.*/
    {
    for(i=1;i<=num;i++)    /*进行报数.*/
    {
        if(point>=sum)    /*当前报数位置超过最后一人时从第一人报起.*/
        {point=1;}
        else point++;
    }
    num=a[point-1];    /*取密码.*/
    code=b[point-1];    /*取号码.*/
    for(i=point;i<=sum;i++) /*删去退出的人.*/
    {
        a[i-1]=a[i];
        b[i-1]=b[i];
    }
    sum--;            /*现存总人数.*/
    flag++;            /*退出的人数.*/
    point--;
    printf("已退出%d人,退出的人的编号为%d.\n",flag,code);
    }
}
# include ""
# include ""
# define LEN sizeof(struct player)
    struct player
    {
    int num;    /*编号*/
    int secret;    /*密码*/
    struct player *next;
    };
    int n;    /*总人数*/
main()
{
    int m;
    void create();
    void delete();
    str