您的位置:首页 > 其它

不断用户输入一个数字(假定用户输入的为正整数),当用户输入"end"时显示刚才输入的数字中最大的值

2013-01-09 22:21 519 查看
有Bug版本:

using System;

using System.Collections.Generic;

using System.Text;

namespace 取最大值

{

    class Program

    {

        static void Main(string[] args)

        {

            //不断用户输入一个数字(假定用户输入的为正整数),当用户输入"end"时显示刚才输入的数字中最大的值

            int max = 0;  //用来存放最大的值

            while (true)    //让程序死循环运算

            {

                Console.WriteLine("请输入一个数字,结束(end)");

                string s = Console.ReadLine();

                if (s == "end")  //先判断输入的值是否等于end,如果是,则输出存放在max中的值

                {

                    Console.WriteLine("刚才输入的最大值为{0}", max);

                    Console.ReadKey();

                    return;  //退出程序

                }

                int b = int.Parse(s);  //当s不为end时,才能执行到这句话,这有一个bug,当用户输入除end字符时,程序将在这里报错。

                if (b > max)  //比较用户输入的值与max中存放的值

                {

                    max = b;  //当用户输入的值大于max中暂存的值时,将用户的值存入max中

                }

            }

        }

    }

}

 

 

 

无Bug版本

 

using System;

using System.Collections.Generic;

using System.Text;

namespace 输出用户输入内容中的最大值

{

    class Program

    {

        static void Main(string[] args)

        {

            int max=0;

            bool x = true;

            while (x)

            {

                Console.WriteLine("请输入一个数字(end结束)");

                string sun = Console.ReadLine();

                if (sun == "end")  //先判断用户输入的值是否为end

                {

                    Console.WriteLine("刚才输入的最大值{0}", max);

                    Console.ReadKey();

                    return;

                }

                for (int i = 0; i < sun.Length; i++)  //以用户输入值的长度为条件,循环

                {

                    if (!char.IsNumber(sun, i))  //判断输入值的每个字符是否为数字

                    {

                        x = true;

                    }

                    else  //当用户输入的值都为数字时,转换,比较

                    {

                        int y = int.Parse(sun);

                        if (y > max)

                        {

                            max = y;

                            x = true;

                        }

                    }

                }

            }

        }

    }

}

//  Char.IsNumber(str,i)是判断在字符串中 i 位置的字符是否为数字

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐