【C#基础】【语法03】课后作业题 01-06

练习一、

1)  编写程序打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

2)例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

 

练习二、

1)编写程序从键盘接收1个数,求该数各位数字的总和。

2)例如:输入 1234,总和=1+2+3+4=10

3)提示:利用循环(求商,求余)

 

练习三、

1)从键盘接收1个数,计算该数的阶乘

2)例如:5的阶乘=1*2*3*4*5

 

练习四、

1) 利用条件运算符的嵌套来完成此题:

2)  接收用户输入的成绩,成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

3)  条件运算符:(a>b)?a:b

 

练习五、

1)输入某年某月某日,判断这一天是这一年的第几天?

2)以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况:闰年且输入月份大于3时需考虑多加一天。

 

练习六、

1) 创建控制台应用程序

2) 编写程序随机生成5个1-100之间的数字,然后输出其中的最大值

3) 提示:定义数组接收随机数。



第一题

namespace PB_1_水仙花数
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("水仙花数如下:");
            int i, j, k;
            for (int num = 100; num < 1000; num++)
            {
                i = num / 100;       //百位数字
                j = num % 100 / 10;  //十位数字
                k = num % 10;        //个位数字
                if (i * i * i + j * j * j + k * k * k == num)
                    Console.Write("{0,5}", num);
            }
            Console.WriteLine();
        }
    }
}

第二题

namespace PB_2_求各位数之和
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please enter a number:");
            int num = int.Parse(Console.ReadLine());
            int sum = 0;

            for (int i = num; i >= 1; i=i/10)
            {
                sum = i % 10 + sum;
            }

            Console.WriteLine("该数的各位数之和为:" + sum);
            Console.ReadKey();
        }
    }
}

第三题

namespace PB_3_从键盘接收数并计算该数的阶乘
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please enter a number:");
            int num = int.Parse(Console.ReadLine());
            int sum = 1;

            for (int i = 1; i <= num;i++ )
            {
                sum *= i;
            }
            Console.WriteLine("该数的阶乘为:" + sum);
            Console.ReadKey();
        }
    }
}

第四题

namespace PB_4_利用条件运算符的嵌套
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入成绩:");
            int grade = int.Parse(Console.ReadLine());
            char t;
            t =(grade>=90?'A':(grade>=60?'B':'C'));
            Console.WriteLine(t);
        }
    }
}

第五题

namespace PB_5_判断这一天是这一年的第几天
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个日期(格式如:1991-7-29):");
            string date = Console.ReadLine();

            //将日期分割成年、月、日
            string[] date1 = date.Split('-');
            int year = int.Parse(date1[0]);
            int month = int.Parse(date1[1]);
            int day = int.Parse(date1[2]);
            Console.WriteLine("您输入的日期为:{0}年{1}月{2}日",year,month,day);
            Console.WriteLine();

            //引入每个月天数
            int[] months = {31,28,31,30,31,30,31,31,30,31,30,31};

            //判断是否为闰年
            //假设是闰年
            bool flag = false;
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
            {
                flag = true;
            }
            if (flag == true)
            {
                months[2] = 29;
            }
            
            //统计天数
            int sum = 0;
            for (int i = 0; i <= month-1; i++)
            {
                sum = sum + months[i];
            }
            sum = sum + day;
            Console.WriteLine("{0}年{1}月{2}日是这一年中的第{3}天。",year,month,day,sum);
        }
    }
}

第六题

namespace PB_6_随机生成5个数_并求出其中最大值
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("随机产生的5个(1-100)随机数如下:");
            //随机数对象
            Random rand = new Random();
            //产生随机数
            int[] nums = new int[5];
            for (int i = 0; i < 5; i++)
            { 
                nums[i] = rand.Next(1, 101);//返回 1<=num<100 的整数
            }
            
            foreach(int c in nums)
                Console.Write(c+" ");
            Console.WriteLine();

            //求最大值
            int max = nums[0];
            for (int i = 1; i < nums.Length; i++)
            {
                if (max < nums[i])
                    max = nums[i];
            }
            Console.WriteLine("最大值为:"+max);
            Console.ReadKey();
        }
    }
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值