实验一控制台程序编程教案(S)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一控制台程序编程
一、实验目的
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)输出结果,告诉用户相应年份是否闰年。

max=(a>b)?a:b;
max=(max>c)?max:c;
("最大值是{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各字段的值。

月;
="二号";
("{0}{1}{2}",,,;
date2=date1;
dateDay="三十一号";
("{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的值。

参考答案:
代码如下:
//
using System;
class Test4{
static void Main(){
int a,b,c,t;
("请输入第一个整数:");
a=Int3Parse());
("请输入第二个整数:");
b=Int3Parse());
("请输入第三个整数:");
c=Int3Parse());
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;
}
}
("从小到大的顺序依次为:{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{
("请输入运算符(+、-、*、/):");
operation=();
("请输入第一个操作数:");
//接收输入的操作数并转换成整形。

firstNumber=Int3Parse());
("请输入第二个操作数:");
secondNumber=Int3Parse());
switch(operation){
case"+":
("{0}+{1}={2}",firstNumber,secondNumber,firstNumber
+secondNumber);
break;
case"-":
("{0}-{1}={2}",firstNumber,secondNumber,firstNumber-
secondNumber);
break;
case"*":
("{0}*{1}={2}",firstNumber,secondNumber,firstNumber*
secondNumber);
break;
case"/":
("{0}/{1}={2}",firstNumber,secondNumber,firstNumber/s
econdNumber);
break;
default:
("运算符不合法");
break;
}
("是否继续进行运算(Y/N);");
response=();
while(response!="Y"&&response!="y"&&response!="N"&&response!=" n"){
("输入错误!");
("是否继续进行运算(Y/N):");
response=();
}
}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;
("{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++;
(" {0}",i);
//让结果每行显示10个合数。

if(num%10==0)
();
break;
}
}
}
();
("总共有{0}个合数",num);
}
}
调试中出现的问题及解决情况:
(二)独立解决实际问题
7、编写一个控控台应用程序,实现对10个元素进行排序,写出实验步骤、代码、给出运行结果截图,并对调试中出现的问题进行分析写出其解决情况:。

要求:数据按两种方式输入,一种是数值型数值,另一种数据用一个字符串一次输入。

using System;
using ;
using ;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string num;
("请输入10个数字,中间用空格隔开:");
num = ();
String[] array = (' ');
int[] e = new int[10];
("输入的10个数字为:");
for (int i = 0; i < ; i++)
{
(" "+array[i]);
int f = (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;
}
}
();
("10个元素排序后:");
foreach (int i in e)
{
(" "+i); }
();
}
}
}。

相关文档
最新文档