C#第一次上机作业

Test1.

/*1、编写一个程序,用户输入一个整数n,然后计算并输出从 1 到n的所有奇数的和。
    如果用户输入的n小于 1,则提示用户重新输入,直到输入一个大于等于 1 的整数为止,
    添加异常处理,当输入的为非整数时,能够捕获异常。*/

namespace ConsoleApp2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个整数:");
            int num;
            num = int.Parse(Console.ReadLine());

            // 循环直到用户输入一个有效的整数(大于等于1)
            while (num < 1)
            {
                try
                {
                  
                    

                    if (num < 1)
                    {
                        Console.WriteLine("输入的数字必须大于等于1,请重新输入。");
                    }
                }
                catch (FormatException)
                {
                    Console.WriteLine("输入的不是有效整数,请重新输入。");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("输入的数字超出范围,请重新输入。");
                }
            }
            
            // 计算从1到n的所有奇数之和
            int sum = 0;
            for (int i = 1; i <= num; i += 2)
            {
                sum += i;
            }
            
            Console.WriteLine($"从1到{num}的所有奇数之和为:{sum}");
        }
    }
}

Test2.


/*
 
 2.使用 if-else实现一元二次方程的求解ax2+bx+c=0的根,a,b,c为键盘输入的值
 */
namespace ConsoleApp3
{
    internal class Program
    {


        static void Main(string[] args)
        {
            float a, b, c, x1 = 0, x2 = 0, p, q, t;
            Console.WriteLine("请输入a的值:");

            a = float.Parse(Console.ReadLine());
            Console.WriteLine("请输入b的值:");
            b = float.Parse(Console.ReadLine());
            Console.WriteLine("请输入c的值:");
            c = float.Parse(Console.ReadLine());

            // 计算判别式
            t = b * b - 4 * a * c;  
            if (a != 0 && t >= 0)
            {
                // 计算两个方程的根
                p = -b / (2 * a);
                q = (float)(Math.Sqrt(t) / (2 * a));

                x1 = p - q;
                x2 = p + q;
                Console.WriteLine($"x1={x1}, x2={x2}");  
            }
            else if (a == 0)
            {
                Console.WriteLine("这不是一元二次方程");
            }
            else
            {
                Console.WriteLine("方程无实数解");
            }
        }
    }
}

Test3.

/*
 3.使用Switch实现将成绩转换为等级。142-150,卓越;135-141,优秀;120-135,通过;120以下未通过。
 
 */

using System;

namespace ConsoleApp4
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int score;

            Console.WriteLine("请输入学生成绩:");
            score = int.Parse(Console.ReadLine());

            // 添加输入验证
            if (score < 0 || score > 150)
            {
                Console.WriteLine("成绩超出有效范围");
                return;
            }

            switch (score / 10)
            {
                case 15: 
                    if (score >= 142 && score <= 150)
                        Console.WriteLine("卓越");
                    else
                        Console.WriteLine("未通过");
                    break;
                case 14: 
                    if (score >= 142)
                        Console.WriteLine("卓越");
                    else
                        Console.WriteLine("优秀");
                    break;
                case 13: 
                    if (score >= 135)
                        Console.WriteLine("优秀");
                    else
                        Console.WriteLine("通过");
                    break;
                case 12: 
                    if (score >= 120)
                        Console.WriteLine("通过");
                    else
                        Console.WriteLine("未通过");
                    break;
                default: 
                    Console.WriteLine("未通过");
                    break;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值