练习一、
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();
}
}
}