A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛先生 中级黑马   /  2015-4-15 22:51  /  653 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 葛先生 于 2015-4-15 22:55 编辑

#include <stdio.h>

int main()
{
  int a[15];  //定义数组
  for(int i=0;i<15;i++)  //给数组成员编号复值;
  {
    a=i+1;
  }
  
prinf("出卖耶稣的是%d\n",test(sizeof(a)));
return 0;
}
int test(int a)  //利用递归。
{
int sum=15; //剩余人数。
int num=a;   //需要报数的人数。
int t=1;   //第一个人报的数
int m=1;

  for(int i=0;i<num;i++) //int i=t主要是后面如果最后一个人报数不是3时,第一个人接着报数的号数为t。
   if(a!=0)
   {
    m++;
    }
   if(m==3)//报到3,报数人数-1。
   {
    a=0; //把报数为3的赋值为0,用来最后排除
    i=0;
    num--;
    m=0;
     
   }
   {
   if(num==1);//只剩下一个人时,结果出来了。
   {
     for(int i=0;i<15;i++)
     {
        if(a!=0)
        {
         return a;
        }
      }
   }      
   
   if(a==num) //遍历到最后一个人,
   {
    if(i!=3&&a!=0)  //圆圈循环报数,使下次循环第一个人报数接着前面一个人的数报。
    {
      num--;
      t==i+1;
    }
    int test(num=count);   
    }
   }
   
}
是不是很垃圾的代码啊,自己写的又一点一点的发现问题,又一点一点的改正结果就这成这个模子了:L

2 个回复

倒序浏览
标题真是6666666
回复 使用道具 举报

你这是秒抢沙发啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马