用C语言代码如何写100个人报数,每报到单数的人下场,依此类推,最后一个人是谁?
答案:2 悬赏:70 手机版
解决时间 2021-04-05 21:34
- 提问者网友:伴风望海
- 2021-04-05 11:57
用C语言代码如何写100个人报数,每报到单数的人下场,依此类推,最后一个人是谁?
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-04-05 12:29
没时间测了,思路是这样
#include "stdio.h"
int main()
{
int i,index = 0,num,number[100];//number[100]存那100个人 为0 表示未被淘汰 为一被淘汰
while (1)
{
for (i = 0;i<100;i++)////淘汰人
{
printf("please speak out your num");
if (number[i] == 0)
{
scanf("%d",&num);
if (num%2 == 1)
{
printf("you are out");
number[i] = 1;
}
}
}
for (i = 0;i< = 100;i++)//选出最后一个人
{
if (number[i] == 0)
{
index++;
}
if(index == 1)
printf("you have win %d",i);
break;
}
}
return 0;
}
#include "stdio.h"
int main()
{
int i,index = 0,num,number[100];//number[100]存那100个人 为0 表示未被淘汰 为一被淘汰
while (1)
{
for (i = 0;i<100;i++)////淘汰人
{
printf("please speak out your num");
if (number[i] == 0)
{
scanf("%d",&num);
if (num%2 == 1)
{
printf("you are out");
number[i] = 1;
}
}
}
for (i = 0;i< = 100;i++)//选出最后一个人
{
if (number[i] == 0)
{
index++;
}
if(index == 1)
printf("you have win %d",i);
break;
}
}
return 0;
}
全部回答
- 1楼网友:十年萤火照君眠
- 2021-04-05 13:30
不多说了,直接写测试结果:
第1 轮后还剩下的元素:
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54
56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
第 2 轮后还剩下的元素:
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100
第3 轮后还剩下的元素:
8 16 24 32 40 48 56 64 72 80 88 96
第 4轮后还剩下的元素:
16 32 48 64 80 96
第 5 轮后还剩下的元素:
32 64 96
第 6 轮后还剩下的元素:
64
正确的源代码:
#include "stdio.h"
#include "conio.h"
void printArray(int a[],int n)
{
int i;
for(i=0;i {
if(a[i]!=0)
printf("%2d ",a[i]);
}
printf("\n");
}
main()
{
int student[100];
int n=0,count=0,number=0,i,j=0;
for(i=1;i<=100;i++)
{
student[i-1]=i;
}
while(number<99)
{
count=0;
j++;
printf("\n\n第 %d 轮后还剩下的元素:\n",j);
for(i=0;i<100;i++)
{
if(student[i]!=0)
{
count++;
if(count%2!=0)
{
student[i]=0;
number++;
}
}
}
printArray(student,100);
}
getch();
}
楼主好运!
第1 轮后还剩下的元素:
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54
56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
第 2 轮后还剩下的元素:
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100
第3 轮后还剩下的元素:
8 16 24 32 40 48 56 64 72 80 88 96
第 4轮后还剩下的元素:
16 32 48 64 80 96
第 5 轮后还剩下的元素:
32 64 96
第 6 轮后还剩下的元素:
64
正确的源代码:
#include "stdio.h"
#include "conio.h"
void printArray(int a[],int n)
{
int i;
for(i=0;i
if(a[i]!=0)
printf("%2d ",a[i]);
}
printf("\n");
}
main()
{
int student[100];
int n=0,count=0,number=0,i,j=0;
for(i=1;i<=100;i++)
{
student[i-1]=i;
}
while(number<99)
{
count=0;
j++;
printf("\n\n第 %d 轮后还剩下的元素:\n",j);
for(i=0;i<100;i++)
{
if(student[i]!=0)
{
count++;
if(count%2!=0)
{
student[i]=0;
number++;
}
}
}
printArray(student,100);
}
getch();
}
楼主好运!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯