c#之课后习题

1.折叠代码

#region

折叠内容
#endregion

2.保留三位小数

using System;

namespace _005_double保留3位小数
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入三位数,依次按Enter结束:");
double a = double.Parse(Console.ReadLine());
double b = double.Parse(Console.ReadLine());
double c = double.Parse(Console.ReadLine());
Console.WriteLine("{0:f3}",a);
Console.WriteLine("{0,10:f3}",b);
Console.WriteLine("{0,10:f3}",c);
} }
}

3.求水仙花数

using System;

namespace _001_水仙花数
{
class Program
{
static void Main(string[] args)
{
int[] numbers = new int[];
int sum = ;
for (int num = ; num < ; num++)
{
numbers[] = num / ;
numbers[] = num %/;
numbers[] = num % %;
//for (int i = 0; i < 3; i++)
//{
// sum += (int)Math.Pow(numbers[i], 3);
//}
sum = numbers[] * numbers[] * numbers[] + numbers[] * numbers[] * numbers[] + numbers[] * numbers[] * numbers[];
if (num == sum)
{
Console.WriteLine("水仙花数为:" + num);
} }
}
}
}

4.

四舍五入并保留两位小数
double d =3.1415926;
d= Math.Round(d,2);
Console.WriteLine("{0,10:f2}",d)//另一种方法,冒号前位10的倍数,显示小数点前有多少字节,f后要保留的小数 位数

using System;

namespace _008_四舍五入
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入以为正数:");
double a = Double.Parse(Console.ReadLine());
int result = (int)(a + 0.5); //double b = Math.Ceiling(a);//向上进位取整
////double b = Math.Floor(a);//向下进位取整
Console.WriteLine(result);
}
}
}

5.

编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。

using System;

namespace _013_while求和
{
class Program
{
static void Main(string[] args)
{
double i = ;
double sum = ;
while (i<=)
{
sum =sum+(i-)/i ;
i++;
}
Console.WriteLine("和为{0}",sum);
}
}
}

6.

编写一个程序,用for语句,求出1+(1+2)+(1+2+3)+...+(1+2+3+...+10)之和。

using System;

namespace _014_for求和
{
class Program
{
static void Main(string[] args)
{
int sum = ;
int sum1 = ;
for (int i = ; i <=; i++)
{
sum = sum + i;
sum1 = sum1 + sum;
}
Console.WriteLine(sum1);
}
}
}

7.编一个程序,要求使用while语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。

using System;

namespace _016_加分题2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入用户名和密码:");
int count = ;
while (count <)
{
string name = Console.ReadLine();
string password = Console.ReadLine();
if (name == "huang" && password == "")
{
Console.WriteLine("登录成功");
break;
}
else
Console.WriteLine("错误,请重新输入!");
count++;
} }
}
}

8.求出1~1000之间的所有能被7整除的数,并计算和输出每5个的和。

using System;

namespace _005_能被7整除的数
{
class Program
{
static void Main(string[] args)
{
int count = ;
int sum = ;
for(int i = ; i <= ; i++)
{
if ( i % == )
{
sum += i;
count++;
Console.WriteLine(i);
}
if(count == )
{
Console.WriteLine(sum);
sum = ;
count = ;
}
} }
}
}

8.,编写一个控制台程序,分别输出1~100之间的平方、平方根。

using System;

namespace _006_1_100之间的平方平方根
{
class Program
{
static void Main(string[] args)
{ for (int i= ; i <= ; i++)
{
double a = Math.Pow(i, 0.5);//平方
double b = Math.Pow(i, );
//double gen = Math.Sqrt(i);//这个方法可以取得一个数字的平方根
Console.WriteLine("{2}的平方为{0},平方根为{1}",b,a,i); } }
}
}

9.判断月份天数

using System;

namespace _009_输出该月天数
{
class Program
{
static void Main(string[] args)
{
//闰年:2月29 1,3,5,7,---31天 4,6,9,11---30 8,10,12----31
//平年:28
Console.WriteLine("请输入年份,月份,分别按Enter结束");
int year = int.Parse(Console.ReadLine());
int month = int.Parse(Console.ReadLine()); if (year % == || year % == && year % != )//闰年情况下
{
if(month % != &&month<)
{
Console.WriteLine("31天");
}
else if(month == )
{
Console.WriteLine("29天");
}
else if(month % == && month < )
{
Console.WriteLine("30天");
}
else if (month % == && month >= )
{
Console.WriteLine("31天");
}
else if (month% != && month >= )
{
Console.WriteLine("30天");
}
}
else
{
if (month % != && month < )
{
Console.WriteLine("31天");
}
else if (month == )
{
Console.WriteLine("28天");
}
else if (month % == && month < )
{
Console.WriteLine("30天");
}
else if (month % == && month >= )
{
Console.WriteLine("31天");
}
else if (month % != && month >= )
{
Console.WriteLine("30天");
}
}
} }
}

10.1-1000之间的素数

using System;

namespace _020_1_1000之间的素数
{
class Program
{
static void Main(string[] args)
{
for (int i = ; i < ; i++)
{
bool sushu = true;//布尔类型
for (int j = ; j <=i-; j++)
{
if (i % j == )
{
sushu = false;
break;
}
}
if (sushu)
{
Console.WriteLine(i);
}
} }
}
}

11.九九乘法表

using System;

namespace _021__九九乘法表
{
class Program
{
static void Main(string[] args)
{
//第一种格式
//for (int i = 1; i < 10; i++)
//{
// for (int j = 1; j < 10; j++)
// {
// Console.Write(i+"*"+j+"="+(i*j)+"\t");//不换行
// }
// Console.WriteLine();//什么都没有表示换行
//} //第二种格式
for (int i = ; i < ; i++)
{
for (int j = ; j <= i; j++)
{
Console.Write(i + "*" + j + "=" + (i * j) + "\t");//不换行
}
Console.WriteLine();//什么都没有表示换行
}
}
}
}

12.

生成随机数
Random random = new Random();//创建一个可以生成随机数的对象
int num = random.Next(1,7);//给一个范围,取不到最大值
Console.WriteLine(num);

using System;

namespace _022_掷骰子_打印各种点数的出现次数
{
class Program
{
static void Main(string[] args)
{
int num1 = , num2 = , num3 = , num4 = , num5 = , num6 = ;
Random random = new Random();//创建随机数
for (int i = ; i < ; i++)
{ int num = random.Next(, );//范围1到6
switch (num)
{
case :
num1++;
break;
case :
num2++;
break;
case :
num3++;
break;
case :
num4++;
break;
case :
num5++;
break;
case :
num6++;
break;
}
}
Console.WriteLine(num1);
Console.WriteLine(num2);
Console.WriteLine(num3);
Console.WriteLine(num4);
Console.WriteLine(num5);
Console.WriteLine(num6);
}
}
}

13.金字塔

using System;

namespace _004_金字塔
{
class Program
{
static void Main(string[] args)
{
for (int i = ; i < ; i++)
{
for (int j = i; j < ; j++)
{
Console.Write(" ");
}
for (int z = ; z <= *i; z = z + )
{
Console.Write("*");
}
Console.WriteLine();
} } }
}

14.四舍五入

using System;

namespace _006_四舍五入
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入一位正数:");
double a = Double.Parse(Console.ReadLine());
//int result = (int)(a + 0.5);这方法也可以
a = Math.Round(a, );
//double b = Math.Ceiling(a);//向上进位取整
////double b = Math.Floor(a);//向下进位取整
Console.WriteLine(a); }
}
}

15.枚举之星期

using System;

namespace _010_QQ状态
{
public enum QQ
{
OnLine=,
OffLine=,
Leave=,
Qme=,
Busy=
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入数字"); int index = int.Parse(Console.ReadLine());
QQ num = (QQ)index;
switch (num)
{
case QQ.OnLine:
case QQ.OffLine:
case QQ.Leave:
case QQ.Qme:
case QQ.Busy: Console.WriteLine(num);
break;
default:
Console.WriteLine("超出范围");
break; }
}
}
}

16。键盘输入红包金额,包数

.
using System; namespace _001_随机红包System.Security.Cryptography.RNGCryptoServiceProvider
{ class Program
{
static void Main(string[] args)
{ //微信红包
Console.WriteLine("请输入红包金额和数量:");
int money = int.Parse(Console.ReadLine());
int num = int.Parse(Console.ReadLine());
int dollar = money * ;
int temp = ;
Random a = new Random();
for (int i = ; i < num - ; i++)
{
int b = a.Next(, dollar - temp);
if (b > dollar / )
{
i--;
continue;
}
temp += b; if (temp == dollar)
{
temp = ;
i = ;
continue;
}
Console.WriteLine(b / 100.0);
}
Console.WriteLine((dollar - temp) / 100.0);
}
}
} .
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入金额(例如:100.00)");
double money = Math.Round(Convert.ToDouble(Console.ReadLine()), );
Console.WriteLine("请输入红包个数");
int count = Convert.ToInt32(Console.ReadLine());
List<double> listMoney = new List<double>();
for (int i = ; i < count; i++)
{
Random random = new Random();
if (i == )
{
listMoney.Add(money);
continue;
}
double maxMoney = listMoney.Max();
int maxIndex = listMoney.IndexOf(maxMoney);
double rd = random.NextDouble();
double m = Math.Round(maxMoney * rd, );
listMoney[maxIndex] = maxMoney - m;
listMoney.Add(m);
}
Console.WriteLine("分别获得红包");
foreach (var item in listMoney)
{
Console.WriteLine("{0}\t元", item.ToString("N"));
}
//测试,计算金额是否正确
Console.WriteLine("合计:{0}元\n\r", listMoney.Sum().ToString("N"));
Console.WriteLine("按任意键继续\n\r");
Console.ReadKey();
} }
}
}
上一篇:sqlserver查询数据库中有多少个表,多少视图,多少存储过程,或其他对象


下一篇:获取基于Internet Explorer_Server的聊天窗口内容