| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 363 人关注过本帖
标题:帮忙解释一程序中的while语句
只看楼主 加入收藏
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
结帖率:83.33%
收藏
已结贴  问题点数:2 回复次数:1 
帮忙解释一程序中的while语句
/* n 个人围成一圈, 并依次编号1~n,。从编号为1 的人开始,按顺时针方向每隔一人选出一个,
剩下的人重新围成一圈,如此循环直到剩下两人,这剩下的两人就是幸运儿。如果你想成为最后两个
幸运儿,请问开始时应该站在什么位置?(设3<=n<=50)
输入:开始时的人数n
输出:第1 行是选出顺序,第2 行是两名幸运儿的开始位置(按升序排列),位置编号之间用一个空格
分开。
示例
输入:
12
应该的输出:
2 4 6 8 10 12 3 7 11 5
1 9*/
#include"stdio.h"
#include"string.h"
#include"conio.h"
#define N 30
main()
{
int num[N],i,j,temp,x;
i=temp=0;
printf("input,please!");
scanf("%d",&x);
for(j=0;j<x;j++)
   num[j]=1;
while(temp!=2)
{
   temp=0;
   for(j=0;j<x;j++)
    temp+=num[j];
   if(temp==2)break;
   if(num[i])
   {
    while(num[++i]!=1&&i<x);
    if(i==x)
    {
     i=-1;while(num[++i]!=1);
    }
    num[i]=0;
   }
   i++; if(i==x)i=0;
}
for(i=0;i<x;i++)
   if(num[i]==0)printf("%d ",i+1);
   printf("\n");
for(i=0;i<x;i++)
   if(num[i])
    printf("%d ",i+1);
   getch();
}
搜索更多相关主题的帖子: 顺时针 幸运儿 
2011-05-10 16:56
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
程序代码:
#include<stdio.h>
int main()
{  
    int a = 0,b = 0,c = 0,n = 0,sum = 1;
    int kill[150] = {0};
    int i = 0,j = 0,k = 1;
    scanf("%d %d",&a,&b);
    for(i = 1;i<=a;)
    {
        if(!kill[i])
        {
            if(sum == i)
                k++;
            else
            {
                k = 1;
                sum = i;
            }
            if(k==b)
            {
                printf("%d\n",i);
                break;
            }
            j++;
        }
        if(0 == j%b && !kill[i])
            kill[i] = true;
        i%=a;
        i++;
    }
    return 0;
}
懒得看了 我这个没有写注释  麻烦楼主看一下

                                         
===========深入<----------------->浅出============
2011-05-10 19:39
快速回复:帮忙解释一程序中的while语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025535 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved