问最后留下的是原来的几号
#include <stdio.h>
int main()
{
int array[10],i,j=0,m=10,sum1=0,sum2=0,number;
printf("input number:\n");
for (i=0;i<10;i++)
{
scanf("%d",&array[i]);//往数组中输入不同的数表示不同的人
}
for (i=0;i<10;i++)
{
sum1+=i;//将原来的所有人的号码数相加求和
}
for (i=0;i<10;i++)
{
//报到3的人退出,数组中的该位元素设为0
if(array[i]!=0) j++;
if(j==3)
{
j=0;
array[i]=0;
sum2+=i;//将退出的人号数相加
m--;
}
//最后一个人报完,从头再来
if(i==9) i=-1;
if(m==1) break;//如果还剩一个人for循环结束
}
number=sum1-sum2;//两个和相减,就是最后一个人的号码
printf("最后留下来的是原来的第%d号\n",number);
return 0;
} |
|