C#代码整理.docx
- 文档编号:10647172
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:53
- 大小:29.07KB
C#代码整理.docx
《C#代码整理.docx》由会员分享,可在线阅读,更多相关《C#代码整理.docx(53页珍藏版)》请在冰豆网上搜索。
C#代码整理
-------------------------------------------------------条件语句---------------------------------------------------------------
//界面效果如下:
//假设有一个帐户:
账号:
Guest密码:
123456,现模拟QQ登录验证程序。
//要求:
①验证时,文本框的值不允许为空,否则弹出消息框显示“文本框不允许为空”。
//②当账号和密码都正确时,弹出消息框显示“欢迎您,登录成功”;
//③当账号或者密码错误时,弹出消息框显示“账号或密码有误,请重新输入”;
//④点击重置按钮清空账号和密码文本框;
//⑤如果累计登录报错次数达到3次就退出程序。
intintCount=0;//全局变量,用于统计登录报错的次数
privatevoidbtnOK_Click(objectsender,EventArgse)
{
stringstrUserName=tbUserName.Text;
stringstrPWD=tbPWD.Text;
if(strUserName==""||strPWD=="")//文本框的值不允许为空
{
MessageBox.Show("文本框不允许为空");
intCount++;
}
else
{
if(strUserName=="Guest"&&strPWD=="123456")
{
MessageBox.Show("欢迎您,登录成功!
");
}
else
{
MessageBox.Show("账号或密码有误,请重新输入");
intCount++;
}
}
//如果累计登录报错次数达到3次就退出程序
if(intCount==3)
{
this.Close();
}
}
//点击重置按钮清空账号和密码文本框
privatevoidbtnReset_Click(objectsender,EventArgse)
{
tbUserName.Clear();
tbPWD.Clear();
}
输入任意年份及相应月份,点击查询,弹出消息框显示当年当月的天数。
提示:
①注意判断输入框数据是否非法,如月份13、-1等。
②输入的月份若为2,则需判断年份是否属于闰年(提示:
能被400整除或者能被4整除并且不能被100整除的年份是闰年)
③其余月份的判断
privatevoidbtnSelect_Click(objectsender,EventArgse)
{
intyear=Convert.ToInt32(textBox1.Text);
intmonth=Convert.ToInt32(textBox2.Text);
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
labResult.Text="当前月份为31天";
break;
case4:
case6:
case9:
case11:
labResult.Text="当前月份为30天";
break;
case2:
if(year%400==0||year%4==0&&year%100!
=0)
labResult.Text="当前月份为29天";
else
labResult.Text="当前月份为28天";
break;
default:
labResult.Text="您输入的月份不合法";
break;
}
}
----------------------------------------------------循环语句
(一)------------------------------------------------------------
#region用户任意输入一个行数n,打印n行的直角三角形**
intintRow=Convert.ToInt32(tbNumber.Text);
labResult.Text=intRow+"行的直角三角形**为:
\n";
for(inti=1;i<=intRow;i++)//行号
{
for(intj=1;j<=i;j++)//列号
{
labResult.Text+="*";
}
labResult.Text+="\n";
}
#endregion
#region打印九九乘法表
labResult.Text="九九乘法表如下:
\n";
for(inti=1;i<=9;i++)//行号
{
for(intj=1;j<=i;j++)//列号
{
labResult.Text+=string.Format("{0}*{1}={2}",i,j,i*j);
}
labResult.Text+="\n";
}
#endregion
#region用户任意输入一个50以内的正整数,显示它的阶乘。
//例如输入6则显示6!
=720n!
=1*2*3*4*…*(n-1)*n
ulongulngNum=Convert.ToUInt64(tbNumber.Text);
labResult.Text=ulngNum+"的阶乘为:
";
ulongulngFac=1;
for(ulongi=1;i<=ulngNum;i++)
{
ulngFac=ulngFac*i;
}
labResult.Text+=ulngFac;
#endregion
#region打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个水仙花数,因为153=13+53+33
labResult.Text="打印显示所有的水仙花数为:
";
for(inti=100;i<=999;i++)
{
intintHund=i/100;
intintTen=i%100/10;
intintDiv=i%100%10;
if(i==intHund*intHund*intHund+intTen*intTen*intTen+intDiv*intDiv*intDiv)
{
labResult.Text+=i+"";
}
}
#endregion
#region输出显示100以内能够被5整除余1的自然数
labResult.Text="100以内能够被5整除余1的自然数有:
";
for(inti=0;i<=100;i++)
{
if(i%5==1)
{
labResult.Text+=i+"";
}
}
#endregion
#region利用所学循环求出100到1000之间所有能同时被3、5、7整除的数
labResult.Text="100到1000之间所有能同时被3、5、7整除的数有:
";
for(inti=100;i<=1000;i++)
{
if(i%3==0&&i%5==0&&i%7==0)
{
labResult.Text+=i+"";
}
}
#endregion
#region打印显示1+2+3+.....+100,当和大于500时,退出程序
labResult.Text="打印显示1+2+3+.....+100,当和大于500时,退出程序结果为:
";
intintSum=0;
for(inti=1;i<=100;i++)
{
intSum=intSum+i;
if(intSum>500)
{
return;//结束本程序——末日已到
}
labResult.Text+="\n第"+i+"次运算的结果为:
"+intSum;
}
labResult.Text+="\n程序执行完成!
";
#endregion
#region打印显示1+2+3+.....+100,当和大于500时,退出循环
labResult.Text="打印显示1+2+3+.....+100,当和大于500时,退出循环结果为:
";
intintSum=0;
for(inti=1;i<=100;i++)
{
intSum=intSum+i;
if(intSum>500)
{
break;//跳出循环,执行循环后面的语句——破壳而出
}
labResult.Text+="\n第"+i+"次运算的结果为:
"+intSum;
}
labResult.Text+="\n程序执行完成!
";
#endregion
#region打印1~20的整数,能被3整除则不打印
labResult.Text="1~20的整数,不被3整除的数有:
";
for(inti=1;i<=20;i++)
{
if(i%3==0)
{
continue;//跳出本次循环继续执行下一次循环——从头再来
}
labResult.Text+=i+"";
}
#endregion
#region打印1到10之间的偶数
方法一:
labResult.Text="1~10之间的偶数为:
";
for(inti=1;i<=10;i++)
{
if(i%2==0)//如果当前循环的数字是偶数
{
labResult.Text+=i+"";
}
}
方法二:
labResult.Text="1~10之间的偶数为:
";
for(inti=2;i<=10;i+=2)
{
labResult.Text+=i+"";
}
#endregion
#region打印显示:
1+2+3+......+100
labResult.Text="1+2+3+......+100的结果为:
";
intintSum=0;
for(inti=1;i<=100;i++)
{
intSum=intSum+i;
}
labResult.Text+=intSum;
#endregion
#region打印显示1,2,3,.......100
labResult.Text="打印显示1,2,3,.......100为:
";
for(inti=1;i<=100;i++)
{
labResult.Text+=i+"";
}
#endregion
#region打印Iamsorry!
for(inti=1;i<=10;i++)
{
MessageBox.Show("Iamsorry!
");
}
#endregion
----------------------------------------------------循环语句
(二)------------------------------------------------------------
#region6.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
labResult.Text="有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数:
\n";
intintTotal=0;//当前的三位数的数目
for(inti=1;i<=4;i++)//三位数的第1位数的取值可有4种情况
{
for(intj=1;j<=3;j++)//三位数的第2位数的取值可有3种情况
{
for(intk=1;k<=2;k++)//三位数的第3位数的取值可有2种情况
{
intTotal++;
}
}
}
labResult.Text+=intTotal+"个";
#endregion
#region5.一头母牛,每四年生一头小母牛,小母牛四年以后又生了小母牛,问100年后有几头母牛?
labResult.Text="母牛生母牛的问题:
\n";
intintTotal=1;//当前的母牛数
intintYear=1;//当前的年数
while(intYear<=100)//当年数小于或等于100年的时候
{
intTotal=2*intTotal;
intYear+=4;
}
labResult.Text+=intTotal+"头";
#endregion
#region2.猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第十天早上想再吃时,见只剩一个桃子了,求第一天共摘多少桃子。
要求:
用while循环实现。
labResult.Text="猴子吃桃问题:
\n";
intintTotal=1;//变量intTotal存储桃子数
inti=9;//天数从第9天开始倒着推算
while(i>=1)
{
intTotal=2*(intTotal+1);
i--;
}
labResult.Text+=intTotal+"个";
#endregion
#region1.用while循环标签打印显示九九乘法表。
labResult.Text="用while循环标签打印显示九九乘法表:
\n";
inti=1;
while(i<=9)
{
intj=1;
while(j<=i)
{
labResult.Text+=string.Format("{0}*{1}={2}",i,j,i*j);
j++;
}
labResult.Text+="\n";
i++;
}
#endregion
//国王奖励麦子的问题:
国王要奖励棋王,问他想要什么,棋王说要在棋盘第一格放一粒麦子,第二格加倍,第三格再加倍;现在国王有10万吨麦子,1粒只有0.1克,请问这些麦子能放到多少格?
用程序说明.
labResult.Text="国王奖励麦子的问题:
\n";
doubledouMaxWeight=100000000000;//可放的麦子的总重量
doubledouWeight=0.1;//当前正在放麦子的格子的麦子重量,初始化为第一个格子的麦子重量,即0.1
doubledouSumWeight=douWeight;//当前已放的麦子的总重量,初始化为第一个格子的麦子重量,即0.1
intintNum=1;//计数麦子可放的格子数,初始化为1
while(douSumWeight<=douMaxWeight)
{
intNum++;
douWeight=douWeight*2;
douSumWeight+=douWeight;
}
labResult.Text+="可放"+intNum+"格";
-------------------------------------------------------字符和字符串------------------------------------------------------------
#region“武松打虎虎跑了”,把其中的’虎’字去掉
//方法一:
stringstrA="武松打虎虎跑了";
labResult.Text=strA.Remove(3,2);//删除从下标3开始的2个位置的字符
//方法二:
stringstrA="武松打虎虎跑了";
intintA=strA.IndexOf('虎');//从左边开始数第一个‘虎’字的下标
intintB=strA.LastIndexOf('虎');//从右边开始数第一个‘虎’字的下标
for(inti=0;i { if(i! =intA&&i! =intB) { labResult.Text+=strA[i]; } } #endregion #region把”abcdefgqm”中空格去掉 stringstrA="abcdefgqm"; labResult.Text=strA.Replace("","");//将空格替换为空字符串 //labResult.Text=strA.Trim();//去掉字符串的最左端和最右端的空格 #endregion #regionPictureBox显示本机硬盘上的某张图片 //路径写法一: pictureBox1.ImageLocation="E: \\image.png"; //路径写法二: pictureBox1.Image=Image.FromFile(@"E: \image.png"); #endregion #region练习: 从文本框输入一个银行帐号。 (方法二) ①判断输入的数据是否是19位。 ②判断是否全部为数字。 stringstrA=tbNumber.Text; if(strA.Length! =5)//字符串中的字符数 { labResult.Text="账号长度不合法! "; } else//账号长度合法 { boolflag=true;//标识变量,默认标识当前的字符串是全数字组成 foreach(chariinstrA) { if(! char.IsNumber(i))//如果当前循环的字符不是数字 { labResult.Text="账号数据不合法"; flag=false; break;//无需继续循环判断是否是数字,跳出循环 } else//否则当前循环的字符是十进制数字 { continue;//继续下一次循环做判断 } } if(flag==true)//如果循环完毕后,标识变量仍然为true,则表示此字符串是全数字组成 { labResult.Text="账号数据合法"; } } #endregion #region练习: 从文本框输入一个银行帐号。 (方法一) ①判断输入的数据是否是19位。 ②判断是否全部为数字。 stringstrA=tbNumber.Text; if(strA.Length! =19)//字符串中的字符数 { labResult.Text="账号长度不合法! "; } else//账号长度合法 { boolflag=true;//标识变量,默认标识当前的字符串是全数字组成 for(inti=0;i { if(! char.IsNumber(strA[i]))//如果当前循环的字符不是数字 { labResult.Text="账号数据不合法"; flag=false; break;//无需继续循环判断是否是数字,跳出循环 } else//否则当前循环的字符是十进制数字 { continue;//继续下一次循环做判断 } } if(flag==true)//如果循环完毕后,标识变量仍然为true,则表示此字符串是全数字组成 { labResult.Text="账号数据合法"; } } #endregion #region从文本框输入用户名,用户名长度不能超过6位,要求全部转换为大写。 从文本框输入密码,要求重复密码进行校验,如果不合法则提示重复密码有误,合法则格式化输出用户名和密码。 stringstrUserName=tbUserName.Text; if(strUserName.Length>6) { MessageBox.Show("用户名长度不能超过6位"); } else//用户名长度在6位以内 { strUserName.ToUpper();//全部转换为大写 stringstrPWD1=tbPWD1.Text; stringstrPWD2=tbPWD2.Text; if(string.Equals(strPWD1,strPWD2))//重复密码效验成功 { MessageBox.Show(string.Format("您好! \n用户名为: {0}\n密码为: {1}",strUserName,strPWD1)); } else { MessageBox.Show("重复密码有误! "); } } #endregion //7.根据输入的字符串,判断是否是回文(例如: 上海自来水来自海上) labResult.Text="根据输入的字符串,判断是否是回文: \n"; stringstrA=tbResult.Text; boolflag=true;//标识当前字符串默认为回文 for(inti=0;i { if(strA[i]==strA[strA.Length-1-i])//如果第i位上的字符与倒数第i位上的字符相等 { continue; } else { flag=false; break; } } if(flag==true)//通过判断标识变量来确定是否是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 代码 整理