传说中的二十道题(二)

11.一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数。利用if嵌套for。

            Console.Write("请输入你的关数");
            int a = int.Parse(Console.ReadLine());
            int sum = 0;
            if (a > 0 && a <= 50)
            {
                if (a > 0 && a <= 20)
                {
                    for (int i = 0; i < a; i++)
                    {
                        sum += i;
                    }
                }
                else if (a >= 21 && a <= 30)
                {
                    for (int i = 0; i <= 20; i++)
                    {
                        sum += i;
                    }
                    for (int i = 21; i <= a; i++)
                    {
                        sum += 10;
                    }
                }
                else if (a >= 31 && a <= 40)
                {
                    for (int i = 0; i <= 20; i++)
                    {
                        sum += i;
                    }
                    for (int i = 21; i <= 30; i++)
                    {
                        sum += 10;
                    }
                    for (int i = 31; i <= a; i++)
                    {
                        sum += 20;
                    }
                }
                else if (a >= 41 && a <= 49)
                {
                    for (int i = 0; i <= 20; i++)
                    {
                        sum += i;
                    }
                    for (int i = 21; i <= 30; i++)
                    {
                        sum += 10;
                    }
                    for (int i = 31; i <= 40; i++)
                    {
                        sum += 20;
                    }
                    for (int i = 41; i <= a; i++)
                    {
                        sum += 30;
                    }
                }
                else if (a == 50)
                {
                    for (int i = 0; i <= 20; i++)
                    {
                        sum += i;
                    }
                    for (int i = 21; i <= 30; i++)
                    {
                        sum += 10;
                    }
                    for (int i = 31; i <= 40; i++)
                    {
                        sum += 20;
                    }
                    for (int i = 41; i <= 49; i++)
                    {
                        sum += 30;
                    }
                    sum += 100;
                }
                Console.WriteLine(sum);
            }
            else
            {
                Console.WriteLine("输入有误");
            }
            Console.ReadLine();

12.一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数。利用for嵌套if。

            Console.Write("请输入你的关数");
            int a = int.Parse(Console.ReadLine());
            int sum = 0;
            if (a > 0 && a <= 50)
            {
                for (int i = 0; i < a; i++)
                {
                    if (i > 0 && i <= 20)
                    {
                        sum += i;
                    }
                    else if (i >= 21 && i <= 30)
                    {
                        sum += 10;
                    }
                    else if (i >= 31 && i <= 40)
                    {
                        sum += 20;
                    }
                    else if (i >= 41 && i <= 49)
                    {
                        sum += 30;
                    }
                    else
                    {
                        sum += 100;
                    }
                }
                Console.WriteLine(sum);
            }
            else
            {
                Console.WriteLine("输入有误");
            }
            Console.ReadLine();

13.输入月份和日期,输出是今年的第多少天。(2月按照28天计算)利用switch case。

            int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30;
            Console.Write("请输入月份");
            int m = int.Parse(Console.ReadLine());
            Console.Write("请输入日期");
            int d = int.Parse(Console.ReadLine());
            switch (m)
            {
                case 1:
                    Console.WriteLine("第" + d + "天");
                    break;
                case 2:
                    Console.WriteLine("第" + (m1 + d) + "天");
                    break;
                case 3:
                    Console.WriteLine("第" + (m1 + m2 + d) + "天");
                    break;
                case 4:
                    Console.WriteLine("第" + (m1 + m2 + m3 + d) + "天");
                    break;
                case 5:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + d) + "天");
                    break;
                case 6:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + d) + "天");
                    break;
                case 7:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + d) + "天");
                    break;
                case 8:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + d) + "天");
                    break;
                case 9:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d) + "天");
                    break;
                case 10:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d) + "天");
                    break;
                case 11:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d) + "天");
                    break;
                case 12:
                    Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d) + "天");
                    break;
            }
            Console.ReadLine();

14.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱?利用for嵌套+if筛选。

            int biao = 0;
            for (int g = 0; 2 * g <= 100; g++)
            {
                for (int m = 0; m <= 100; m++)
                {
                    for (int x = 0; 0.5 * x <= 100; x++)
                    {
                        if (2 * g + m + 0.5 * x == 100 && g + m + x == 100)
                        {
                            biao++;
                            Console.WriteLine("第" + biao + "种共有公鸡" + g + "只,母鸡" + m + "只,小鸡" + x + "只");
                        }
                    }
                }
            }
            Console.WriteLine("一共有" + biao + "种");
            Console.ReadLine();

15.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?利用for嵌套+if筛选。

            for (int x = 0; x <= 50; x++)
            {
                for (int y = 0; y <= 100; y++)
                {
                    for (int z = 0; z <= 200; z++)
                    {
                        if (x + y + z == 100 && 2 * x + y + 0.5 * z == 100)
                        {
                            Console.WriteLine("有大马" + x + "匹,中等马" + y + "匹,小马" + z + "匹");
                        }
                    }
                }
            }
            Console.ReadLine();

16.纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848?利用while。

            int i = 0;
            int a = 7;
            while (a <= 884800000)
            {
                a *= 2;
                i++;
            }
            Console.WriteLine(a);
            Console.WriteLine(i);
            Console.ReadLine();

17.兔子生兔子。除了第一个月之后的所有月份都可以直接执行。成兔=上个月的成兔加上上个月的小兔。小兔=上个月的幼兔。幼兔=上个月的成兔加上上个月的小兔(即这个月的成兔)利用for嵌套if。

            Console.Write("请输入月份");
            int a = int.Parse(Console.ReadLine());
            int y = 1;
            int x = 0;
            int c = 0;
            int zong = 0;
            for (int i = 0; i <= a; i++)
            {
                if (i == 1)
                {
                    y = 1;
                    x = 0;
                    c = 0;
                    zong = 1;
                }
                else
                {
                    c = x + c;
                    x = y;
                    y = c;
                    zong = x + y + c;
                }
            }
            Console.WriteLine("第" + a + "个月共" + zong + "对,有幼兔" + y + "对,小兔" + x + "对,成兔" + c + "对");
            Console.ReadLine();

19.五个候选班长,20人投票。输入1-5来表示支持哪(个人)最后查看票数,看那个人胜出。不是1~5之内的数视为票作废。利用数组。

string[]shuzu=new string[20];
            int sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0;
            for (int i = 0; i < 20; i++)
            {
                Console.Write("第"+(i+1)+"个人支持的号码是:");
                shuzu[i] = Console.ReadLine();
                if (shuzu[i] =="1")
                {
                    sum1++;
                }
                else if (shuzu[i] == "2")
                {
                    sum2++;
                }
                else if (shuzu[i] == "3")
                {
                    sum3++;
                }
                else if (shuzu[i] == "4")
                {
                    sum4++;
                }
                else if (shuzu[i] == "5")
                {
                    sum5++;
                }
                else
                {
                    Console.WriteLine("输入有误作废");
                }
            }
            Console.WriteLine("所有人都已选择完毕");
            Console.WriteLine("1号选手得票数:"+sum1);
            Console.WriteLine("2号选手得票数:" + sum2);
            Console.WriteLine("3号选手得票数:" + sum3);
            Console.WriteLine("4号选手得票数:" + sum4);
            Console.WriteLine("5号选手得票数:" + sum5);
            if (sum1 > sum2 && sum1 > sum3 && sum1 > sum4 && sum1 > sum5)
            {
                Console.WriteLine("1号选手获胜");
            }
            else if (sum2> sum1 && sum2 > sum3 && sum2 > sum4 && sum2 > sum5)
            {
                Console.WriteLine("2号选手获胜");
            }
            else if (sum3 > sum2 && sum3 > sum1 && sum3 > sum4 && sum3 > sum5)
            {
                Console.WriteLine("3号选手获胜");
            }
            else if (sum4 > sum1 && sum4 > sum3 && sum4 > sum2 && sum4 > sum5)
            {
                Console.WriteLine("4号选手获胜");
            }
          else
            {
                Console.WriteLine("5号选手获胜");
            }
            Console.ReadLine();

20.输入手机号码个数,根据手机号码个数创建数组。做抽奖活动。利用System.Threading.Thread.Sleep(3000);//程序暂停3秒

            Console.Write("请输入电话号码的个数");
            int n = int.Parse(Console.ReadLine());
            string[] shuzu = new string[n];//把这n个手机号放到数组中
            for (int i = 0; i < n; i++)
            {
                Console.Write("第" + (i + 1) + "个人的手机号是");
                shuzu[i] = Console.ReadLine();//接受数组
            }
            Console.WriteLine("所有号码输入完毕,按回车");
            Console.ReadLine();
            Random ran = new Random();//初始化
            int m = 0;
            for (; ; )
            {
                int nn = ran.Next(n);//随机从n中抽取
                Console.Clear();//清屏
                Console.WriteLine(shuzu[nn]);
                System.Threading.Thread.Sleep(100);//100毫秒
                if (m == 29)  //0.1*30=3秒
                {
                    break;
                }
                m++;
            }
            Console.ReadLine();
时间: 2024-12-28 14:31:11

传说中的二十道题(二)的相关文章

【管理心得之二十二】小人物 仰视 大授权

场景再现====================Boss:小王,来我办公室一下.小王: 嗯Boss:近期总公司有会,需要到外地出差几日.我不在的这段期间里,公司大小事务你帮忙处理一下.          如果有什么难决定的事,第一时间电话.邮件联系我商定即可.小王:  明白.放心吧领导,绝不会让你失望的Boss:嗯,那就好,没事了. {小王走出办公室} 心中暗喜,"难道这就是传说中的授权,Boss不在的时候,我岂不是最高权力的行使者." ==================== 从场景

每日算法之二十八:Longest Valid Parentheses

Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()", which has length = 2. Another example is &

二十四孝,图文并茂,古今必读!

知道“二十四孝”的人,已经不多了:知道“二十四孝”的年轻人,更是少之又少.“孝”在今日社会,似乎已是一个“过气”的词,人老珠黄般,逗不起众人的欲望了.我们读<二十四孝>,感觉那似乎是十分遥远的故事.其实细细想来,它好像又近在咫尺,离我们并不远. 01 孝感动天 舜,传说中的远古帝王,五帝之一,姓姚,名重华,号有虞氏,史称虞舜.相传他的父亲瞽叟及继母.异母弟象,多次想害死他:让舜修补谷仓仓顶时,从谷仓下纵火,舜手持两个斗笠跳下逃脱:让舜掘井时,瞽叟与象却下土填井,舜掘地道逃脱.事后舜毫不嫉恨,仍

华为上机题汇总(二十)

华为上机题汇总(二十) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总二十 目录 第九十六题 第九十七题 第九十八题 第九十九题 第一百题 第九十六题 96 . 给分数的循环节加括号 两个整数相除,将结果用字符串返回.如果是循环小数,将循环的位用括号括起来. 输入:1 3 输出:0.(3) 输入 1 7 输出 0.(142857) #include <iostream> #include <string> using namespace s

Cocos2dx 3.0 过渡篇(二十八)C++11强类型枚举

一朋友在微信朋友圈晒了张照片,随手点开大图,带着欣赏的眼光扫了下,恩,几个月不见,又漂亮了...咦?等等,她戴的这是什么?酷炫的造型!金属边框!微型摄像头!这不是传说中的谷歌眼镜么?土豪啊,还好我们已经是朋友了...我先给了她一个赞,然后直奔主题,霸气回复道:我过几天去找你,你戴的是谷歌眼镜吧,哼哼小样,不想死的话...就让我...摸一下下可以么,我不奢求戴,摸一下就满足了...(哎,丢人啊). ------------------- 在cocos2dx 3.0的文档里有这么一句话:以 k 开头

第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装

第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装 当前环境python3.5 ,windows10系统 Linux系统安装 在线安装,会自动安装scrapy模块以及相关依赖模块 pip install Scrapy 手动源码安装,比较麻烦要自己手动安装scrapy模块以及依赖模块 安装以下模块 1.lxml-3.8.0.tar.gz (XML处理库) 2.Twisted-17.5.0.tar.bz2 (用Python编写的异步网络框架) 3.Scrapy-1.4.0.tar.gz

Powershell管理系列(二十六)PowerShell操作之批量导出&导入邮箱

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 项目中有时候做跨林邮箱迁移的时候,条件不成熟,比如安全考虑或者其他考虑,不能做双林信任,这样就提出了一个问题,历史邮件需要使用的话怎么办,一个简单高效的解决办法就是从源森林批量导出邮件为.pst文件,在批量导入到目的域森林,具体操作如下: 1.赋予管理账号邮件导入导出权限,命令如下: cls whoami New-Manageme

二十岁出头,你一无所有,但你却拥有一切,因为你还有牛逼的梦想。 可那又怎样,只有行动,才能解除你所有的不安

我从来没有看到过一句话,如此让我共鸣.二十岁出头,你一无所有,但你却拥有一切,因为你还有牛逼的梦想. 可那又怎样,只有行动,才能解除你所有的不安 (一)嘴上说说的人生 那年我在离家的时候一个劲地往自己的硬盘里塞<灌篮高手>,我妈一副嗤之以鼻的表情 看着我,似乎是在说:"这么大的人了居然还这么喜欢看动漫." 我不知道怎么回应她,只好耸耸肩,因为我实在无法对我亲爱的娘亲说明这部动漫对我的 意义. 你知道,有些歌有些东西就是有那种力量.哪怕它在你的手机里藏了好几年,哪怕它早就 过

从零开始学android&lt;android事件的处理方式.二十四.&gt;

在android中一共有 多种事件,每种事件都有自己相对应的处理机制 如以下几种 1 单击事件 View.OnClickListener public abstract void onClick (View v) 单击组件时触发 2 单击事件 View.OnLongClickListener public abstract boolean onLongClick (View v) 长按组件时触发 3 键盘事件 View.OnKeyListener public abstract boolean