文章

8

粉丝

37

获赞

0

访问

1.0k

头像
湖南大学猴子报数
我要提问
发布于2024年3月13日 13:14
阅读数 189

 为什么这段代码输入n时用cin输入只有输入第一组数据的时候有输出但是从第二组开始就卡住了,但是换成scanf输入n他就能ac啊,求大佬解答

#include<iostream>
#include<vector>

#include<algorithm>
#include<utility>
using namespace std;
int main(){
int n;

while(cin>>n&&n!=0){
	int s,m;
	cin>>s>>m;
	int p[n];
	vector<int>ans;
	int now=s-1;
	int count=0;
	while(ans.size()<n){
		if(p[now]!=-1){
			count++;
			if(count==m){
				p[now]=-1;
				count=0;
				ans.push_back(now+1);
			}
		}
		now=(now+1)%n;
	}
   for(int i=0;i<n-1;i++)printf("%d,",ans[i]);
   printf("%d\n",ans[n-1]);
   
}
return 0;
}

 

登录查看完整内容


登录后发布评论

3 条评论
snake VIP
2024年3月13日 13:33

这个代码可以AC呀,我看你没通过的那个代码是多组输入格式的问题

赞(0)

哈哈宝宝游泳 : 回复 snake: 但是那个上面那个代码在我自己的编译器上他就是只能输入一组数据,到第二组输入完他就没反应了

2024年3月13日 14:01

snake : 回复 哈哈宝宝游泳: 初始化的问题,int p[n] = {0};还函数内部定义的数组不会自动初始化为0

2024年3月13日 15:08