关于C++,数组的题目
17个人围成圈,编号为1至17,从1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1个人,求此人的编号?注:{要用数组来做此题目}我是一个初学者,所以尽可能...
17个人围成圈,编号为1至17,从1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1个人,求此人的编号?注:{要用数组来做此题目} 我是一个初学者,所以尽可能写的简单一些吧,并且要是有解释就更好了,谢了啊!
请写出程序,并且简单的解释一下,在关键的地方,加以注释
我要是自己可以查到的话,还用提问吗,真是的,不会或是不回答就不瞎留言 展开
请写出程序,并且简单的解释一下,在关键的地方,加以注释
我要是自己可以查到的话,还用提问吗,真是的,不会或是不回答就不瞎留言 展开
3个回答
展开全部
#include<iostream.h>
void main()
{
int arrary[17]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int i=0; //数组中的变量
int count=0; //每个非零数的计数
int exit_Ncount=0; //每个为零数的计数
while(exit_Ncount<16) //如果为0的数大于16,则此时为0的数为16,说明已经有了16个数为0
{
if(arrary[i]!=0) //如果数组中的数不为0时
{
++count; //当不为0时,对不为0的数计数
if(count%3==0) //判数不为0的数是否能被3整除
{
arrary[i]=0; //如果能被整除,则这个数被赋值为0
++exit_Ncount; //且对为0的数进行计数加1
}
}
i++; //当进行一次的运行后,对i加1,不论这个数是否为0
if(i>16) //如果这个数大于16,且此时的 i的值为17
i=0; //则将i的值赋值为0
}
for(int j=0;j<=16;j++) //定义一个变量j,条件为j<=16
if(arrary[j]!=0) //如果这个数的值不为0时
cout<<arrary[j]<<endl; //则输出这个不为0的值
}
断翅蝴蝶飞 16:07:18
这个你也可以看看啊,因为我写了解释了啊,所以看起来可能会容易一些哦,呵呵
void main()
{
int arrary[17]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int i=0; //数组中的变量
int count=0; //每个非零数的计数
int exit_Ncount=0; //每个为零数的计数
while(exit_Ncount<16) //如果为0的数大于16,则此时为0的数为16,说明已经有了16个数为0
{
if(arrary[i]!=0) //如果数组中的数不为0时
{
++count; //当不为0时,对不为0的数计数
if(count%3==0) //判数不为0的数是否能被3整除
{
arrary[i]=0; //如果能被整除,则这个数被赋值为0
++exit_Ncount; //且对为0的数进行计数加1
}
}
i++; //当进行一次的运行后,对i加1,不论这个数是否为0
if(i>16) //如果这个数大于16,且此时的 i的值为17
i=0; //则将i的值赋值为0
}
for(int j=0;j<=16;j++) //定义一个变量j,条件为j<=16
if(arrary[j]!=0) //如果这个数的值不为0时
cout<<arrary[j]<<endl; //则输出这个不为0的值
}
断翅蝴蝶飞 16:07:18
这个你也可以看看啊,因为我写了解释了啊,所以看起来可能会容易一些哦,呵呵
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询