有n个人围成一圈 顺序排号 从第1个人开始报数,凡报到3的就退出圈子

2016-06-18 21:41:19  分类: c程序设计第四版谭浩强课后答案  参与:

 有n个人围成一圈 顺序排号 从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

谭浩强c语言程序设计第四版答案
以下是此题的【c源代码】,需要【c++源代码】请点击进入

#include <stdio.h>
int main()
{int i,k,m,n,num[50],*p;
 printf("\ninput number of person: n=");
 scanf("%d",&n);
 p=num;
 for (i=0;i<n;i++)
   *(p+i)=i+1;       
 i=0;                
 k=0;                 
 m=0;              
 while (m<n-1)       
  {if (*(p+i)!=0)  k++;
   if (k==3)                     
     {*(p+i)=0;
      k=0;
      m++;
     }
   i++;
   if (i==n) i=0;               
   }
 while(*p==0) p++;
 printf("The last one is NO.%d\n",*p);
 return 0;
}

来源:c程序设计第四版谭浩强课后答案

本文链接:http://www.wb98.com/c/post/tanhaoqiang_8.5.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

网站分类

Tags列表

赞助商链接