打酱油的


私信TA

用户名:1017563043

访问量:5671

签 名:

摸鱼使我快乐

等  级
排  名 952
经  验 3424
参赛次数 0
文章发表 73
年  龄 22
在职情况 学生
学  校 广州松田职业学院
专  业 计算机应用技术

  自我简介:

略略略略略略~~~~

解题思路: count计数报数,每次遇 3 数组左移覆盖原编号

注意事项:int n,arr[n];没报错,被DEV-CPP坑惨

参考代码:

#include <stdio.h>
#define LEN 1000 
int main() {
	int n,arr[LEN],count=0;
	scanf("%d",&n);
//	初始化数组
	for(int i=0; i<n; i++)
		arr[i]=i+1;
//	直到只剩一人
	while(n>1)
		for(int i=0; i<n; i++)
			//报 3 退出:数组左移覆盖退出元素、长度-1(逻辑删除)
			if(++count%3==0) {
//				printf("arr[%d]=%d 号退出\n",i,arr[i]);//查看退出过程 
				for(int j=i; j<n-1; j++)
					arr[i]=arr[i+1];
				n--;
			}
	printf("%d",arr[0]);
}


 

0.0分

1 人评分

  评论区

  • «
  • »