永发信息网

关于报数游戏的编程,求C++大神帮忙找错。不胜感激。

答案:2  悬赏:0  手机版
解决时间 2021-03-15 09:11
  • 提问者网友:相思似海深
  • 2021-03-15 03:31
有n个人围成一圈,顺序排号。从第1个人开始报数(从1~3),凡报到3的人退出圈子,问最后留下的原来排在第几号。
#include<iostream>
using namespace std;
int main()
{
int n, i, *p;
cout << "请输入总人数";
cin >> n;
int a[50];
p = a;
for (i = 0; i <= n; i++)
{
a[i] = i;
}
int o = 0, l = 0;
while (o < n - 1)
{
int j;
for (j = 1; j <=n; j++)
{
if (*(p + j) != 0)
{
l++;
}
if (l == 3)
{
*(p + j) = 0;
l = 0;
o++;
}
}
while (*p == 0)
{
p++;
}
}
cout << *p << " 号!" << endl;
return 0;
}
不管我输入的几个人最后输出的都是1号。要疯了。。。。
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-03-15 04:33
while(recv(serv,message,11,0)!=11);一行最后面的分号去掉
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-03-15 05:34
#include<iostream> using namespace std; int main() {  int n, i, o, c = 0;  cout << "请输入总人数";  cin >> n;  int a[50];  for (i = 1; i <= n; i++)  {   a[i] = i;  }  while (o < n - 1) {   for (i = 1; i <= n; i++) {      if (!a[i])         continue;      c++;      if (c==3) {       a[i] = 0;       c=0;       o++;      }   }  }   for (i = 1; i<=n; i++)   if (a[i])         cout << i << " 号!" << endl;  return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯