解题思路:
开一个两行数组,第二行标记该数是否已删除,删至只剩一个数时停止,
外层while循环里套for循环使数组转圈。
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int arr[10001][2];
int n,i,j=0;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
arr[i][0]=i;
arr[i][1]=1;
}
int k=0,flag=0;
while(1)
{
for(i=1; i<=n; i++)
{
if(arr[i][1]!=0)
{
k++;
if(k%3==0)
{
arr[i][1]=0;
flag++;
if(flag==n-1)
goto EE;
}
}
}
}
EE:
for(i=1; i<=n; i++)
{
if(arr[i][1]!=0)
{
printf("%d",i);
}
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1222 |
求组合数 (C语言代码)浏览:1152 |
WU-复数求和 (C++代码)浏览:1995 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:915 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:486 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:564 |
字符串的输入输出处理 (C语言代码)浏览:984 |
格式化数据输出 (C语言代码)浏览:811 |
敲七 (C语言代码)浏览:2699 |