收藏 分销(赏)

实验一---控制台程序编程优秀教案(S).doc

上传人:精*** 文档编号:2548780 上传时间:2024-05-31 格式:DOC 页数:9 大小:41KB 下载积分:6 金币
下载 相关 举报
实验一---控制台程序编程优秀教案(S).doc_第1页
第1页 / 共9页
实验一---控制台程序编程优秀教案(S).doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
实验一 控制台程序编程 一、实验目的 1、熟悉C#的基本语句; 2、掌握条件语句、多分支语句、循环语句的使用; 3、掌握使跳转语句使用。 二、实验要求 1、程序结构清晰、语句完整; 2、格式正确,语句采用缩进格式; 3、设计子函数实现题目要求的功能; 4、编译、连接通过,熟练使用命令键; 5、运行结果正确,输入输出有提示,格式美观。 三、实验设备、材料和工具 1、奔腾4计算机或以上机型; 2、C#.NET2008或C#.NET2010。 四、实验内容和步骤 (一)调试下列程序,代码仅供参考,将调试结果界面、调试中出现的问题及解决情况写在后面。 1、判断某年是否闰年 实验题目: 编写一个程序,判断用户从键盘输入的年份是否是闰年。如果一个年份能被4整除,并且如果该年份是100的倍数,它能被400整除,那么该年份就是闰年。 实验步骤: 1) 声明int型变量year,用于表示年份。 2) 声明bool型变量isLeap,用于表示是否闰年。 3) 声明string型变量str,用于表示一串字符。 4) 向屏幕输出提示信息,提示用户输入年份。 5) 从键盘读入年份字符串赋值给变量str。 6) 将变量str中的数据转换成int型数据并赋值给变量year。 7) 通过混合取余运算、关系运算和条件逻辑运算判断year是否闰年,并将结果赋值给变量isLeap。 8) 使用条件运算符,当isLeap为true时,给变量str赋字符串“是”;否则,赋“不是”。 9) 输出结果,告诉用户相应年份是否闰年。 参考答案: //Test1_cs using System; class Test1{ static void Main(){ int year; bool isLeap; string str; Console.Write("请输入年份: "); str=Console.ReadLine(); year=Int3Parse(str); //判断闰年 isLeap=(year%4==0&&year%100!=0)||(year%400==0); str=isLeap?"是":"不是"; Console.WriteLine("{0}年{1}闰年",year,str); } } 运行结果: 调试中出现的问题及解决情况: 2、求三个整数的最大值 实验题目: 编写一个程序,使用条件运算符求用户输入的三个整数中的最大值。 实验目的: 1) 掌握int型和string型变量的声明和使用方法。 2) 了解C#语言的控制台输入方法。 3) 熟悉关系运算符的运算规则。 4) 熟悉条件运算符的运算规则。 5) 理解运算符的优先级概念。 实验步骤: 1) 声明int 型变量a、b、c,用于保存三个待求整数。 2) 声明 int 型变量max,用于保存最大值。 3) 声明 string 型变量 str,用于表示一串字符。 4) 分别向屏目输出提示信息,提示用户输入三个整数,将用户输入的字符串保存在变量str中,并在将str中的数据转换成int型数据后分别赋值给变量a、b、c。 5) 使用条件运算符和关系运算符求出变量a和b中的大者,并赋值给变量max。 6) 使用条件运算符和关系运算符求出变量max和c中的大者,并赋值给变量max。 7) 输出变量 max的值。 参考答案: //Test2.cs using System; class Test2{ static void Main(){ int a,b,c; int max; string str; Console.Write("请输入第一个数: "); str=Console.ReadLine(); a=Int3Parse(str); Console.Write("请输入第二个数: "); str=Console.ReadLine(); b=Int3Parse(str); Console.Write("请输入第三个数: "); str=Console.ReadLine(); c=Int3Parse(str); //计算机已经按收了这三个数,然后比较三个数的大小. max=(a>b)?a:b; max=(max>c)?max:c; Console.WriteLine("最大值是{0}",max); } } 运行结果: 调试中出现的问题及解决情况: 3、日期描述 实验题目: 定义一个表示日期的结构类型(包含年、月、日字段,其中月份采用枚举类型描述),并验证。验证时,访问日期结构类型变量中的每个成员,并访问整个变量。 实验目的: 1) 掌握枚举类型的定义和使用方法。 2) 掌握结构类型的定义和使用方法。 实验步骤: 1) 定义枚举类型MonthOfYear,用于描述一年中的12个月。 2) 定义结构类型Date,用于描述日期,结构类型Date中包含三个公共字段。其中,string型字段Year用于表示年份,MonthOfYear型字段Month用于表示月份,string型字段Day用于表示天数。 3) 定义一个含有Main()方法的类。 4) 在Main方法中,首先声明两个Date变量date1,date2。 5) 分别给变量date1的字段赋值。 6) 输出变量date1各字段的值。 7) 将变量date1的值赋给变量2,然后,修改变量date2的Day字段值。 8) 输出变量date2各字段的值。 参考答案: //Test3.cs using System; class Test3{ enum MonthOfYear{ 一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月} struct Date{ public string Year; public MonthOfYear Month; public string Day; } static void Main(){ Date date1,date2; date1.Year="二零零九年"; date1.Month=MonthOfYear.三月; date1.Day="二号"; Console.WriteLine("{0}{1}{2}",date1.Year,date1.Month,date1.Day); date2=date1; dateDay="三十一号"; Console.WriteLine("{0}{1}{2}",dateYear,dateMonth,dateDay); } } 运行结果: 调试中出现的问题及解决情况: 4、整数排序 实验题目: 编写一个程序,使用if语句将用户输入的三个整数按从小到大的顺序排序。 实验目的: 1) 掌握if语句的使用方法。 2) 学会嵌套使用if语句。 实验步骤: 1) 声明int型变量a、b、c,用于保存用户输入的三个整数。 2) 声明int型变量t,在交换变量a、b、c的值时,用于临时保存其中的某个值。 3) 从键盘读入三个整数,分别保存在变量a、b、c中。 4) 使用if语句将变量a、b、c中的最大值赋给变量c,最小值赋给变量a,中间值赋给变量b。 5) 按从小到大的顺序依次输出变量a、b、c的值。 参考答案: 代码如下: //Test4.cs using System; class Test4{ static void Main(){ int a,b,c,t; Console.Write("请输入第一个整数:"); a=Int3Parse(Console.ReadLine()); Console.Write("请输入第二个整数:"); b=Int3Parse(Console.ReadLine()); Console.Write("请输入第三个整数:"); c=Int3Parse(Console.ReadLine()); if(a>b){ t=a; a=b; b=t; } if(b>c){ t=c; c=b; if(t>a) b=t; else{ b=a; a=t; } } Console.WriteLine("从小到大的顺序依次为:{0},{1},{2}",a,b,c); } 运行结果: 调试中出现的问题及解决情况: 5、简单计算器 实验题目: 编写一个简单的计算器程序,能够根据用户从键盘输入的运算指令和整数,进行简单的加减乘除运算。 实验目的: 1) 掌握循环语句while的使用。 2) 掌握循环语句do-while的使用。 3) 熟悉选择语句switch的使用。 4) 学会嵌套使用循环语句和选择语句。 5) 学会使用break语句。 实验步骤: 1) 声明int型变量firstNumber和secondNumber,用于保存操作数。 2) 声明string型变量operation,用于保存运算符。 3) 声明string型变量response,用于保存用户输入的决定是否继续运算的字符。 4) 声明do-while语句读入运算符和操作数,在该循环中用switch语句执行相应运算,并输出运算结果。 5) 在do-while语句中提示用户输入相应的字符决定是否断续运算,并根据输入字符决定是否结束do-while语句的运行。 参考答案: 代码如下: //Test5_cs using System; class test5{ static void Main(){ //声明两个输入的操作数。 int firstNumber,secondNumber; //声明一个字符串类型来定义运算符。 string operation; //来判断是否继续运算。 string response; do{ Console.Write("请输入运算符(+、-、*、/):"); operation=Console.ReadLine(); Console.Write("请输入第一个操作数:"); //接收输入的操作数并转换成整形。 firstNumber=Int3Parse(Console.ReadLine()); Console.Write("请输入第二个操作数:"); secondNumber=Int3Parse(Console.ReadLine()); switch(operation){ case"+": Console.WriteLine("{0}+{1}={2}",firstNumber,secondNumber,firstNumber+secondNumber); break; case"-": Console.WriteLine("{0}-{1}={2}",firstNumber,secondNumber,firstNumber-secondNumber); break; case"*": Console.WriteLine("{0}*{1}={2}",firstNumber,secondNumber,firstNumber* secondNumber); break; case"/": Console.WriteLine("{0}/{1}={2}",firstNumber,secondNumber,firstNumber/secondNumber); break; default: Console.WriteLine("运算符不合法"); break; } Console.Write("是否继续进行运算(Y/N);"); response=Console.ReadLine(); while(response!="Y"&&response!="y"&&response!="N"&&response!="n"){ Console.WriteLine("输入错误!"); Console.Write("是否继续进行运算(Y/N):"); response=Console.ReadLine(); } }while(response=="Y"||response=="y"); } } 运行结果: 调试中出现的问题及解决情况: 6、求指定范围内的所有合数 实验题目: 合数就是非素数,即除了1和它本身之外还有其他约数的正整数。编写一个程序求出指定数据范围(假设10-100)内的所有合数。 实验目的: 1) 掌握循环语句for的使用。 2) 掌握选择语句if的使用。 3) 学会嵌套使用循环语句和选择语句。 4) 学会使用break语句。 实验步骤: 1) 声明int型变量min、max,并分别初始化为10和100; 2) 声明int型变量num,用于保存合数的个数,初始化为0。 3) 嵌套使用for语句,顺序判断10~100中的每个整数,如果某个整数是合数,则输出该数,并将变量num加1。 参考答案: using System; class Test6{ static void Main(){ int min=10,max=100; int num=0; Console.WriteLine("{0}到{1}之间的合数有:",min,max); for(int i=min;i<=max;i++){ //for(int j=2;j<i;j++){ for(int j=2;j<i/2;j++){ if(i%j==0){ num++; Console.Write(" {0}",i); //让结果每行显示10个合数。 if(num%10==0) Console.WriteLine(); break; } } } Console.WriteLine(); Console.WriteLine("总共有{0}个合数",num); } } 运行结果: 调试中出现的问题及解决情况: (二)独立解决实际问题 7、编写一个控控台应用程序,实现对10个元素进行排序,写出实验步骤、代码、给出运行结果截图,并对调试中出现的问题进行分析写出其解决情况: 。要求:数据按两种方式输入,一种是数值型数值,另一种数据用一个字符串一次输入。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string num; Console.Write("请输入10个数字,中间用空格隔开:"); num = Console.ReadLine(); String[] array = num.Split(' '); int[] e = new int[10]; Console.Write("输入的10个数字为:"); for (int i = 0; i < array.Length; i++) { Console.Write(" "+array[i]); int f = Convert.ToInt32(array[i]); e[i] = f; } int b ; for (int j = 0; j< 9; j++) for (int i = 0; i< 9-j; i++) { if (e[i] > e[i+1]) { b = e[i]; e[i] = e[i+1]; e[i+1] = b; } } Console.WriteLine(); Console.Write("10个元素排序后:"); foreach (int i in e) { Console.Write(" "+i); } Console.WriteLine(); } } } 9 / 9
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服