您的位置:首页 > 编程语言 > C#

C#入门篇5-4:流程控制语句 while

2012-04-18 18:50 267 查看
#region while语句的使用
public class WhileApp
{
// 这是一个支持单用户的服务器模型
public static void Fun4()
{
// 打印软件的欢迎信息
Console.WriteLine("欢迎使用whileApp V0.1");

// 打印命令输入符
Console.Write(">");

// command用于存储用户的命令
string command;

// 读入用户的命令
// 命令为exit表示退出程序--只要输入的不是“exit”循环就一直执行
while ((command = Console.ReadLine()) != "exit")
{
switch (command)
{
// 处理get命令
case "get":
doGet();
break;

// 处理put命令
case "put":
doPut();
break;

// 处理缺省命令
default:
doDefault();
break;
}

// 打印命令输入符
Console.Write(">");
}
}

// 处理get命令
private static int doGet()
{
// 待加入真正的get处理动作
Console.WriteLine("获取文件...ok");

return 0;
}

// 处理put命令
private static int doPut()
{
// 待加入真正的put处理动作
Console.WriteLine("传送文件...ok");

return 0;
}

// 处理缺省命令
private static int doDefault()
{
// 打印出错信息
Console.WriteLine("命令错误");

// 提示正确用法
Console.WriteLine("whileApp V0.1 支持的命令集有:");
Console.WriteLine("\tget:\t获取文件");
Console.WriteLine("\tput:\t传送文件");
Console.WriteLine("\texit:\t退出程序");

return 0;
}
}

public class C4
{
//计算一个数的阶乘
public static void Factorial(int num)
{
int input = num;
double i = 1;
int n = 1;
while (n <= num)
{
i *= n;
n++;
}
Console.WriteLine(i);
}

//计算任意两个数之间的偶数之和 奇数之和
public static void Sum()
{
Console.WriteLine("请输入最小值:");
int min = int.Parse(Console.ReadLine());

Console.WriteLine("请输入最大值:");
int max = int.Parse(Console.ReadLine());
int i = 0;
int j = 0;

int n = min;
while (n < max)
{
if (n % 2 == 0)
{
i += n;
}
else
{
j += n;
}
n++;
}
Console.WriteLine("偶数之和:" + i);
Console.WriteLine("奇数之和:" + j);
/*
* 每个变量做他们应该做得事情
* 输入变量min,max
* 输出变量i,j
* 循环变量n
* 各司其职
* 有两个明白:
* 明白输入什么;
* 明白输出什么这是结果。
* 什么样的流程结构
* 什么地方需要判断
*/
}

//编程规范 以上两个程序要着重学习程序到底应该怎么写
//变量的盛名

//牛牛生牛,要着重于问题的分析啊
public static void Fun1()
{
//一头母牛,每四年生一头小母牛,小母牛四年后又生小母牛,问100年后有几头母牛
int i = 0;//循环变量
int count = 1;//记录牛的总数
while (i < 100)
{
count *= 2;
i += 4;
Console.WriteLine("第{0}年的母牛数量是:{1}", i, count);
}
}

//兔子生兔子问题
public static void Fun1_1()
{
// 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
//后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
int a = 1;
int b = 1;
for (int i = 1; i <= 10; i++)
{
//变量的传递,依次覆盖。
a = a + b;
b = a + b;
Console.WriteLine("{0}\t{1}", a, b);
}
}

//猴子吃桃
public static void Fun2()
{

/*
* 猴子第一天摘了若干桃子吃了一半,不过瘾,有多吃了一个
* 以后每天都吃剩下的一半多一个,到第十天只剩一个桃子
* 问:第一天摘了多少桃子?
*/

int intNum = 1;//表示第10天的桃子数量
//倒着推循环9次得到第一天到底摘了多少桃子
int i = 1;
while (i <= 9)
{
intNum = (intNum + 1) * 2;
Console.WriteLine("第{0}天的桃子数是:{1}\n", 10 - i, intNum);
i++;
}

}

//本例演示青蛙跳井
public static void Fun3()
{

//一口井深100米,青蛙跳5米后又下滑3米,问青蛙用多少次跳出此井?
/*
当不知道循环的次数事采用while循环,
循环已知用for循环,
对于一个循环关键要知道它的循环变量,和最终终止的条件
while循环的特点是:
1--在循环体外面进行循环变量的初始化,
2--再循环体里面进行自增自减操作
*/

//青蛙跳的累计高度始终在变,因此将它当作循环变量
//记录青蛙跳的高度
int H = 0;

//计数器记录循环了多少次即青蛙跳的次数
int cnt = 0;
//只有当青蛙跳的累积高度小于100时,循环才继续。
//如果青蛙的累积高度大于或等于100青蛙就没必要在跳了
while (H < 100)
{
H += 5;
cnt++;
//每次跳之后,cnt加1 证明青蛙跳了一次,同时 判断一下跳之后的高度是否超过了
//100,如果超过了,循环就没必要进行了
if (H >= 100)
{
break; // 强制退出循环
}
H -= 3;
}
Console.WriteLine("青蛙跳了" + cnt + "次");
}

}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐