c#-10个学生编号1-10围坐一圈,1-3报数,报3的退出,求最后剩下的是谁?要C#语言

问题描述

10个学生编号1-10围坐一圈,1-3报数,报3的退出,求最后剩下的是谁?要C#语言

10个学生编号1-10围坐一圈,1-3报数,报3的退出,求最后剩下的是谁?要C#语言

不要复制粘贴的,不要抄来的,不要链接,不要别的语言的。请看清楚。

解决方案

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出

解决方案二:

定义人员
public class bsren
{
public string name { set; get; }
public bool isThree { set; get; }

    public bsren()
    { }

    public bsren(string _name)
    {
        name = _name;
        isThree = false;
    }
}

    初始化人员
    List<bsren> list = new List<bsren>();
        list.Add(new bsren("测试人01"));
        list.Add(new bsren("测试人02"));
        list.Add(new bsren("测试人03"));
        list.Add(new bsren("测试人04"));
        list.Add(new bsren("测试人05"));
        list.Add(new bsren("测试人06"));
        list.Add(new bsren("测试人07"));
        list.Add(new bsren("测试人08"));
        list.Add(new bsren("测试人09"));
        list.Add(new bsren("测试人10"));
                    //设定开始报数
        int m = 1;
        while (list.Count > 2)
        {
            for (int i = 0; i < list.Count; i++)
            {
                if (m % 3 == 0)
                {
                    list[i].isThree = true;
                }
                if (m == 3)
                {
                    m = 1;
                }
                else
                {
                    m++;
                }
            }
            for (int j = list.Count - 1; j > -1; j--)
            {
                if (list[j].isThree)
                {
                    list.RemoveAt(j);
                }
            }
        }
        string msg = "最后剩下的人:";
        foreach (bsren obj in list)
        {
            msg = msg + obj.name + "
";
        }
        MessageBox.Show(msg);

解决方案三:

                    List<string> LStr = new List<string>() { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
        while (LStr.Count >= 3)
        {
            LStr.AddRange(new List<string> { LStr[0], LStr[1] });
            LStr.RemoveRange(0,3);
        }
        return LStr[0];
时间: 2024-12-20 22:42:15

c#-10个学生编号1-10围坐一圈,1-3报数,报3的退出,求最后剩下的是谁?要C#语言的相关文章

Excel中如何计算后10%学生的平均分

很多学校对教学成绩的量化越来越科学.越来越规范,笔者所在地区在考核班级成绩时就分为平均分.优秀率.及格率.后10%学生的平均分.进步幅度五大部分.对笔者来说,计算平均分.优秀率.及格率.进步幅度都不在话下,但计算后10%学生的平均分,着实叫人为难.一是各班学生数都不一样,多的40 多人,少的仅20多人,很难把各班后10%"一刀切下":二是想编写程序吧,对我等菜鸟来说又太困难.难道就只有把每一科的成绩都按从高到低的顺序排下来, 然后一个班一个班地处理吗?这样一来,学生分数全打乱不说,单是

c++-10个小朋友报数,报数报到3的小朋友退出,求最后剩下的小朋友的编号,用C++怎么写

问题描述 10个小朋友报数,报数报到3的小朋友退出,求最后剩下的小朋友的编号,用C++怎么写 10个小朋友报数,报数报到3的小朋友退出,求最后剩下的小朋友的编号,用C++怎么写 解决方案 http://www.cnblogs.com/carekee/articles/2569774.html 解决方案二: http://blog.csdn.net/newnewman80/article/details/5989449 解决方案三: 用for循化,先生成一个10以内的随机数数组,for循环遍历到3

c语言-(20分)10个小朋友编号成1-10围成一个圈圈报数

问题描述 (20分)10个小朋友编号成1-10围成一个圈圈报数 (20分)10个小朋友编号成1-10围成一个圈圈报数,报到3的小朋友退出,求最后剩下的小朋友是几号?用C语言实现 解决方案 http://blog.csdn.net/newnewman80/article/details/5989449 解决方案二: 稍微修改下 #include<iostream> #include<malloc.h> using namespace std; struct node { int no

sum-12. 编写一个成绩统计程序,有10个学生(每个学生包括学号、姓名、

问题描述 12. 编写一个成绩统计程序,有10个学生(每个学生包括学号.姓名. #include #include using namespace std; const int n=3; struct student { string name; int num; double score[3]; double average; }student1[n]; int main() { int i,j; for(i=0;i<n;i++) { cout<<"请输入第"<

为什么输出的不同?-c++用二维数组输入10个学生的成绩

问题描述 c++用二维数组输入10个学生的成绩 #include using namespace std ; main() { int stu [10][4] ; int i, j ; for ( i = 1 ; i <= 10 ; i ++ ) { cout << "请输入"<< "第" << i << "个学生的四门成绩: " ; for ( j = 1 ; j <= 4 ; j +

一组正在学习中文的英国学生来到唐宁街10号做客

"本周,一组正在学习中文的英国学生来到唐宁街10号做客.他们和我交流了学习中文的心得体会." "Hello中国的朋友们,我非常高兴能加入微博.期待不久后的访华!" 本报讯 英国首相卡梅伦将于12月2日至4日对中国进行正式访问.访华前夕,卡梅伦开通 新浪 微博,开通仅1天就吸引超过12万"粉丝". "在访华行程开始前, 昨天我有幸在伦敦维多利亚和艾尔伯特博物馆欣赏'中国古代绘画名品特展'." "大V"没&qu

360安全卫士10.0怎么样?360卫士10.0使用教程

360安全卫士10.0怎么样?更轻快的界面与交互,打造完美蜕变的360安全卫士10.集电脑体检.查杀木马.电脑清理.优化加速四大核心功能于一身;实用小工具可以个性化地选择,360安全卫士10等你来体验. 360安全卫士10集电脑体检.查杀木马.电脑清理.优化加速四大核心功能于一身;加上安全防护中心.XP盾甲等防护功能;实用小工具可以个性化地选择.界面与交互变得轻快,炫酷. 360安全卫士体验版本支持以下功能: 1. 电脑体检,相较于之前的版本,更加全面地扫描电脑,解决电脑存在或潜在的问题; 2.

Oracle RAC 10.2.0.1 升级 10.2.0.5

Oracle RAC 10.2.0.1 升级  10.2.0.5 1.crs和rdbms的升级包是一个,升级时先升级crs,再升级rdbms,最后升级库2.最权威的文档在,10205的补丁中,有个readme. 一.停止数据库相关进程 分别在两台机器上停止数据库 sqlplus "/as sysdba"; sql>shutdown immediate lsnrctl stop 也可以用srvctl工具在一个节点上完成 $ORA_CRS_HOME/bin/srvctl stop s

如何在 Ubuntu 13.10 中安装 Gnome 3.10

厌倦 Unity 了吗?或者说就是不喜欢它?为何不试试在 Ubuntu 13.10 中安装 Gnome 3.10?安装一个新的桌面环境是为数不多的安装Ubuntu 13.10后要做的事之一,如果你想要尝试一下.在这篇快速教程中我们将会分享如何在 Ubuntu 13.10 中安装 Gnome 3.10. 在 Ubuntu 13.10 中安装 Gnome 3.10: 我们将花费一些时间来使用几个 PPA 安装 Gnome 3.10 和分配升级.我假设你网速不错,如果不是的话,你可以使用一些小技巧来提