回复 4楼 尔二
年轻人
题目是这样滴
假如有11个人 依次编号为:
1
2
3
4
5
6
7
8
9
10
11
--------------------------------------------
报数
1
2
1
2
1
2
1
2
1
2
1
报1的编号为:
1
3
5
7
9
11
如果按照实际操作呢,挨个抡过去就行了,一次过,谁报1谁站出来。所以一个循环就可以了
而你用了两个循环 一个是 for
一个是do while. 不知道你那个do
while是不是把站出来的人 轮番揍一顿(如果是的话,有必要这么写)
但是一次过就行了,一次就行
所以
for(i=1;i<=11;i++)
就会得到 1 2 3 4 5 6 7 8 9 10 11的编号
再针对每个编号的处理
就是
for(i=1;i<=11;i++)
{
if(i%2!=0) /*是1的站出来,因为只有报数1和2,那么可以理解为是奇数位的就站出来,根据奇数的特性,奇数除以2是非整除,由此得判断它是否为奇数*/
printf("%d ",i);/*打印就是站出来的意思*/
}
这里是特列11,把11换成n 那就是你输入的n