注意事项:除了内存有点大,好像没别的问题
参考代码:
#include<stdio.h> int main() { int n,a[1000000]={0},cnt=0,i; scanf("%d",&n); for(i=0;i<n;i++){ a[i]=i+1; }//把每个学生进行排序 int sum=n; while(sum>1){ //当圈内只剩下一名学生,退出循环 for(i=0;i<n;i++){ if(a[i]!=0){ cnt++;//报数 if(cnt==3){ a[i]=0;//当报到三,该学生序号归零 cnt=0; sum--;//圈内学生减一 } } } } for(i=0;i<n;i++){ //遍历数组,将学生序号输出 if(a[i]!=0){ printf("%d\n",i+1); } } return 0; }
0.0分
1 人评分
C二级辅导-分段函数 (C语言代码)浏览:558 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1066 |
大神老白 (C语言代码)浏览:603 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1165 |
【亲和数】 (C语言代码)浏览:538 |
WU-格式化数据输出 (C语言代码)浏览:1742 |
数字游戏 (C++代码)浏览:1177 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1420 |
GC的苦恼 (C语言代码)浏览:618 |
前10名 (C语言代码)浏览:726 |