实例练习
1. 完成简单登录效果,设置用户登录账号密码,清空控制台,进入登录页面,请求用户输入账号、密码和验证码(随机产生),并判断用户输入的信息,给出相应的提示。
C#代码如下:
主要知识点:
(1)//清空控制台
Console.Clear();
(2)//设置随机数验证码
Random rand = new Random();
int num = rand.Next(1000,10000);
//账户设置界面
/*
Console.WriteLine("----------账户设置-----------");
Console.WriteLine("请设置账户:");
str1 = Console.ReadLine();
Console.WriteLine("请设置密码:");
str2 = Console.ReadLine();
//清空控制台
Console.Clear();
//用户登录界面
Console.WriteLine("------------登录-------------");
Console.WriteLine("请输入账户:");
str3 = Console.ReadLine();
Console.WriteLine("请输入密码:");
str4 = Console.ReadLine();
//设置随机数验证码
Random rand = new Random();
int num = rand.Next(1000,10000);
//输出验证码
Console.WriteLine("请输入验证码:"+num);
str5 = Console.ReadLine();
int num2=Convert.ToInt32(str5);
//进行判断
if(str1==str3&&str2==str4&&num==num2){
Console.WriteLine("您的信息输入完全正确,可以登陆!");
Console.WriteLine("请按任意键继续……");
}
else
{
Console.WriteLine("对不起,您输入的信息有误,请重新输入,谢谢!");
}
2. 用户输入三条边长,判断能否组成三角形,并判断可以组成什么样的三角形。
代码如下:
//进行输出:提示用户输入
Console.WriteLine("请输入第一条边:");
//用一个变量接受输入的值
str1 = Console.ReadLine();
Console.WriteLine("请输入第二条边:");
str2 = Console.ReadLine();
Console.WriteLine("请输入第三条边:");
str3 = Console.ReadLine();
//转换为整形
int side1, side2, side3;
side1 = Convert.ToInt32(str1);
side2 = Convert.ToInt32(str2);
side3 = Convert.ToInt32(str3);
//判断
if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1)
{
if (side1 == side2 || side1 == side3 || side2 == side3)
{
if (side1 == side2 && side1 == side3) //已经三边相等,无需另行判断
{
Console.WriteLine("可以组成一个等边三角形");
}
else
{
Console.WriteLine("可以组成一个等边三角形");
}
}
else
{
Console.WriteLine("可以组成一个普通三角形");
}
//Console.WriteLine("可以组成一个三角形");
}
else
{
Console.WriteLine("不可以组成一个三角形");
}
console.Redkey();
3. 提示用户输入两个数字,并计算这两个数字之间所有整数的和。
要求:
(1)用户只能输入数字
(2)计算两个数字之间和
(3)要求第一个数字必须比第二个数字小,否则就重新输入。
答案一:
//while (true)
//{
// Console.WriteLine("请输入第1个数字:");
// string str1 = Console.ReadLine();
// Console.WriteLine("请输入第2个数字:");
// string str2 = Console.ReadLine();
// int num11 = 0;
// int num22 = 0;
// try ----------------------C#异常捕捉机制
// {
// num11 = Convert.ToInt32(str1);
// num22 = Convert.ToInt32(str2);
// }
// catch (Exception)
// {
// Console.WriteLine("您输入的数据类型有误,请重新输入!");
// Console.ReadKey();
// return;
// }
// if (num11 > num22)
// {
// Console.WriteLine("您输入的数据大小有误,请重新输入!");
// Console.ReadKey();
// Console.Clear();
// continue;
// }
// int sum = 0;
// for (int i = num11; i <= num22; i++)
// {
// sum += i;
// }
// Console.WriteLine("{0}和{1}之间所有整数的和为:{2}", num11, num22, sum);
// Console.WriteLine("是否退出程序?(Y|N)");
// string flag = Console.ReadLine();
// if (flag == "Y")
// {
// break;
// }
// Console.ReadKey();
//}
答案二:
bool f = true;
while (f) {
#region 代码
Console.WriteLine("请输入第一个数字");
string num1 = Console.ReadLine();
Console.WriteLine("请输入第二个数字");
string num2 = Console.ReadLine(); int x = ;//接收 字符串转换成数字的值
int y = ; ///用户只能输入数字
try
{
x = Convert.ToInt32(num1);
y = Convert.ToInt32(num2);
}
catch (Exception)
{
Console.WriteLine("您输入的不是数字");
Console.ReadKey();
return;
} //求第一个数字必须比第二个数字小
if (x >= y)
{
Console.WriteLine(" 第一个数字比第二个数字大,请重新输入");
Console.ReadKey();
Console.Clear();//控制台 内容清空
continue;
} //计算两个数字之间和
int sum = ;
for (int i = x; i <= y; i++)
{
sum += i;
} Console.WriteLine("两个数之间的和为:{0}",sum); Console.WriteLine("是否退出程序?(Y|N)");
string flag = Console.ReadLine();
if (flag == "Y") {
break;
}
#endregion
4. 用方法来实现:请计算出一个整型数组的平均值。
//int[] array1 = new int[6];
//double summ = ArrayAvg(array1);//定义变量接收方法的返回值
//Console.WriteLine("平均值为:{0}", summ);
//Console.ReadKey();//调用方法
方法:
#region 第4题求平均值(方法) 快捷键:#region+table键
/// <summary>
/// 4.计算数组的平均值
/// </summary>
/// 无参有返回值
/// <param name="array"></param>
static double ArrayAvg(int[] array)
{
double sum = ;
for (int i = ; i < array.Length; i++)
{
array[i] = i;
sum += array[i];
} return sum;
}
#endregion
5. 写一个方法,用来判断用户输入的数字是不是质数 ,再写一个方法 要求用户只能输入数字,如果输入有误,就一直让用户输入数字。
//(1)
//Console.WriteLine("请输入一个数字:");
//string strr = Console.ReadLine();
//JudgmentPrime(strr);
//(2)判断是不是数字
//bool boo = true;
//while(boo){
// Console.WriteLine("请输入一个数字:");
// string str4 = Console.ReadLine();
// bool result = IsNumber(str4);
// if (result)
// {
// boo=false;
// break;
// }
// else{
// Console.WriteLine("您输的不是一个数字,请重新输入!");
// Console.ReadKey();
// Console.Clear();
// } //}
方法:
/// 5.1判断质数
/// </summary>
/// <param name="Prime"></param>
static void JudgmentPrime(string Prime)
{
int num1 = Convert.ToInt32(Prime), sum = , k = + num1;
for (int i = ; i <= num1; i++)
{
if (num1 % i == )
{
sum += i;
}
}
if (sum == k)
{
Console.WriteLine("您输入的是一个质数!");
}
else
{
Console.WriteLine("您输入的不是一个质数!");
}
}
#endregion
/// <summary>
/// 5.2判断输入值是不是数字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
static bool IsNumber(string str)
{
bool f = true;
int x = ;
try
{
x = Convert.ToInt32(str);
}
catch (Exception)
{
f = false;
}
return f;
}
#endregion
6.写一个方法 计算圆的面积和周长 面积是 pI*R*R 周长是 2*Pi*r
//Console.WriteLine("请输入圆的半径:");
//string r = Console.ReadLine();
//CircleArea(r);
方法:
#region 7.计算圆的周长和面积
/// <summary>
/// 7.计算圆的周长和面积
/// </summary>
/// <param name="mianji"></param>
/// <param name="zhouChang"></param>
static void CircleArea(string banJing)
{
double num = Convert.ToDouble(banJing);
Console.WriteLine("圆的面积为:{0};\n周长为:{1}", Math.PI * num * num, * Math.PI * num);
}
#endregion
7. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。
int[] array4 = { , , , , , , , , , };
//外循环:控制整体的排序次数
for (int i = ; i < array4.Length - ; i++)
{
//内循环:控制每次循环的次数
for (int j = i; j < array4.Length - ; j++)
{
if (array4[i] > array4[j + ])
{
int max = array4[i];
array4[i] = array4[j + ];
array4[j + ] = max;
} }
}
//遍历数组
foreach (var item in array4)
{
Console.WriteLine(item);
}
Console.ReadKey();
8. 用方法来实现:请计算出一个整型数组的平均值:{ 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。
//int[] array5 = { 1, 3, 5, 57, 98, 33, 4, 4, 6, 8, 10 };
//Arrayavg(array5);
//Console.ReadKey();
方法:
/// <summary>
/// 9.求平均值
/// </summary>
/// <param name="arrayy"></param>
static void Arrayavg(int[] arrayy)
{
double sum = ;//转换为double类型,否则不会输出小数
for (int i = ; i < arrayy.Length; i++)
{
sum += arrayy[i];
}
double aa = sum / arrayy.Length;//同上
double kk = Math.Round(aa, );//同上
Console.WriteLine("平均值为:{0}", kk);
}
#endregion
本题知识点补充:
C#中:
- 整数除以整数,结果仍为整数;
- 整数除以小数,结果为小数;
- 小数除以整数,结果也为小数。