经典试题

1、声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。

扩展(*):不使用第三个变量如何交换?

用方法来实现:封装一个方法来做。
* 提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。

        static void Main(string[] args)
        {
            int n1 = 10, n2 = 20;
            Console.WriteLine("交换之前:n1 = {0}, n2 = {1}", n1, n2);
            //不使用方法来做
            //n1 = n1 + n2;
            //n2 = n1 - n2;
            //n1 = n1 - n2;
            Swap(ref n1, ref n2);
            Console.WriteLine("交换之后:n1 = {0}, n2 = {1}", n1, n2);
            Console.ReadKey();
        }

        static void Swap(ref int n1,ref int n2) 
        {
            n1 = n1 + n2;
            n2 = n1 - n2;
            n1 = n1 - n2;
        }

   上面的Swap方法中,还可以使用另一种方式交换变量。

  n1 = n1 - n2;  // 10 - 20  得到结果:n1 = -10

     n2 = n1 + n2; // 20 + (-10)  得到结果:n2 = 10

     n1 = n2 - n1;  //  10 - (-10)  得到结果:n1 = 20

 

2.  判断是否是质数(素数)

        static bool IsPrime(int n) 
        {
            if (n < 2) 
            {
                return false;
            }
            else
            {
                for (int i = 2; i < n; i++)
                {
                    if (n % i == 0)
                    {
                        return false;
                    }
                }
                return true;
            }
        }

 

 

3.  四舍五入

  题目会要求,显示小数点后两位(四舍五入)

  按照C语言,自写的算法。先将double类型的数据乘以1000后转换为int类型;再取出最后一位数字,若大于等于5,

则将给这个int类型的数据加上10;最后将int类型的数据乘以1.0转换为double类型后,除以1000,得到最终的结果。

        static double Drop4Round5(double d) 
        {
            int n = (int)(d * 1000);
            int nLast = n % 10;
            if (nLast >= 5)
            {
                n += 10;
            }
            n = n/10;
            double db = (1.0 * n) / 100;
            return db;
        }

 

  其实我们可以借助ToString方法更快地解决问题,ToString可以根据指定的格式将double类型的数值转换为等效字符串表示形式。如1.23456,保留后两位小数,四舍五入,得到字符串 “1.23”。最后调用Convert类的ToDouble方法即可。

    avg = Convert.ToDouble(avg.ToString("0.00"));

 

  

 

转载于:https://www.cnblogs.com/lcxBlog/p/4896118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换? 2. 用方法实现:将上题封装一个方法来做,方法两个参数分别为num1,num2,将num1与num2交换。提示:方法两个参数n1,n2,在方法中将n1n2进行交换,使用ref。(*) 3. 请用户输入一个字符串,计算字符串中的字符个数,并输出。 4. 用方法实现:计算两个数的最大值。思考:方法参数?返回值?扩展(*):计算任意多个数间的最大值(提示:使用可变参数,params)。 5. 用方法实现:计算1-100之间的所有整数的和。 6. 用方法实现:计算1-100之间的所有奇数的和。 7. 用方法实现:判断一个给定的整数是否为“质数”。 8. 用方法实现:计算1-100之间的所有质数(素数)的和。 9. 用方法实现:有一个整数数组:{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 },找出其中最大值,并输出。不能调用数组的Max()方法。 10. 用方法实现:有一个字符串数组:{ "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特" },请输出最长的字符串。 11. 用方法实现:请计算出一个整型数组的平均值。{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。Math.Round() 12. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。 13. 有如下字符串:【"患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”"】。需求:①请统计出该字符中“咳嗽”二字的出现次数,以及每次“咳嗽”出现的索引位置。②扩展(*):统计出每个字符的出现次数。 14. 将字符串" hello world,你 好 世界 ! "两端空格去掉,并且将其中的所有其他空格都替换一个空格,输出结果为:"hello world,你 好 世界 !"。 15. 制作一个控制台小程序。要求:用户可以在控制台录入每个学生的姓名,当用户输入quit(不区分大小写)时,程序停止接受用户的输入,并且显示出用户输入的学生的个数,以及每个学生的姓名。效果如图:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值