第二章

1、编写一个控制台程序,要求:

接受从控制台输入的姓名,如:张三

程序响应:你好,张三。

在代码中使用规范的注释,说明程序的功能

编译程序,并执行。

程序执行效果如下图:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
class Program
{
static void Main(string[] args)
{
//接受从控制台输入的姓名,如:张三
Console.WriteLine("请输入姓名:");
//程序响应:你好,张三。
string name = Console.ReadLine();
//在代码中使用规范的注释,说明程序的功能
//编译程序,并执行。
Console.WriteLine("你好,"+name); }
}
}

第三章

1. 编写一个控制台程序,要求将字符串中的每个字符颠倒输出。

2. 编写一个控制台程序,要求去掉字符串中的所有空格。

3. 编写一个控制台程序,主要实现从字符串中分离文件路径、文件名及扩展名的功能。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
class Program
{
static void Main(string[] args)
{
//1. 编写一个控制台程序,要求将字符串中的每个字符颠倒输出。
string str;
str = "ABCDE";
Console.WriteLine(str);
for (int i = str.Length - ; i >= ; i--)
{
Console.Write(str[i]);
}
Console.WriteLine();
//2. 编写一个控制台程序,要求去掉字符串中的所有空格。
string str2 = "as bn nh n b";
Console.WriteLine(str2);
str2=str2.Replace(" ","");
Console.WriteLine(str2);
//3. 编写一个控制台程序,主要实现从字符串中分离文件路径、文件名及扩展名的功能。
string path=@"F:\c#\qq.exe";
Console.WriteLine(path);
string[] paths=path.Split('.');
Console.WriteLine("扩展名:"+paths[]);
paths=paths[].Split('\\');
Console.WriteLine("文件名:"+paths[paths.Length-]);
Console.Write("路径:");
for(int i=;i<paths.Length-;i++)
{
Console.Write(paths[i]+@"\"); } }
}
}

第四章

1、编写一个能进行加减乘除四则运算的程序,要求:输入一个整数和一个单精度数,然后输入一个操作符号,计算这两个数的运算结果并输出。

2、编写一个控制台应用程序,输入本金p、利率r和存款年限y,输出y年后的本息总额。提示:y年后的本息总额为平p×(1+r)y

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
class Program
{ static void Main(string[] args)
{
//1、编写一个能进行加减乘除四则运算的程序,
//要求:输入一个整数和一个单精度数,然后输入一个操作符号,计算这两个数的运算结果并输出。
Console.WriteLine("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入一个单精度的数:");
float fl = (float)Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入运算符:");
char single = Convert.ToChar(Console.ReadLine());
switch (single)
{
case '+':
Console.WriteLine(num+"+"+fl+"="+(num+fl));
break;
case '-':
Console.WriteLine(num + "-" + fl + "=" + (num - fl));
break;
case '*':
Console.WriteLine(num + "*" + fl + "=" + (num * fl));
break;
default:
Console.WriteLine(num + "/" + fl + "=" + (num / fl));
break; }
//2、编写一个控制台应用程序,输入本金p、利率r和存款年限y,
Console.WriteLine("输入本金p、利率r和存款年限y");
int p = Convert.ToInt32(Console.ReadLine());
int r= Convert.ToInt32(Console.ReadLine());
int y = Convert.ToInt32(Console.ReadLine());
//输出y年后的本息总额。
Console.WriteLine(y+"年后的本息总额:"+p*y*(+r) );
//提示:y年后的本息总额为平p×(1+r)y
}
}
}

第六章

1、声明一个int类型的一维数组,该数组包含10个元素;然后使用foreach语句遍历该数组中的元素。

2、创建一个控制台应用程序,声明一个int类型的一维数组,使用冒泡算法对数组中的元素从小到大进行排序,并输出结果。

3、创建一个控制台应用程序,首先将两个一维数组合并成一个新的一维数组,然后再将定义的两个维数组合并为一个新的二维数组。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
class Program
{ static void Main(string[] args)
{
// 1、声明一个int类型的一维数组,该数组包含10个元素;然后使用foreach语句遍历该数组中的元素。
int[] num = { , , , , , , , , , };
foreach (int item in num)
{
Console.Write (item+" ");
}
Console.WriteLine();
//2、创建一个控制台应用程序,声明一个int类型的一维数组,使用冒泡算法对数组中的元素从小到大进行排序,并输出结果。
int[] num2 = new int[] { , , , , , , };
Array.Sort(num2);
foreach (int item in num2)
{
Console.Write (item+" ");
}
Console.WriteLine();
//3、创建一个控制台应用程序,首先将两个一维数组合并成一个新的一维数组,
int[] num3= new int[num.Length+num2.Length];
for (int i = ; i < num2.Length; i++)
{
num3[i] = num[i];
}
for (int i = ; i < num2.Length; i++)
{
num3[i+num.Length] = num2[i];
}
Console.WriteLine("!!!!!!!!!!!!!!!!!!");
foreach (int i in num3)
{
Console.Write(i+" ");
}
Console.WriteLine();
//然后再将定义的两个维数组合并为一个新的二维数组。
int[,] nums1 = new int[, ] { {,},{,} };
int[,] nums2=new int[,]{{,},{,}};
int[,] nums3 = new int[, ] ;
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
nums3[i, j] = nums1[i, j];
}
}
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
nums3[i, j+] = nums2[i, j];
}
}
Console.WriteLine("**************");
foreach (int item in nums3)
{
Console.Write(item + " ");
}
Console.WriteLine();
}
}
}

第十章

1、模拟ATM机进行账户余额查询。

提示

(1)编写账户类,字段:账户余额,方法:查询余额 、存款、取款

(2)编写测试类,实现存款、取款,并显示账户余额

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
//1、模拟ATM机进行账户余额查询。
//(1)编写账户类,字段:账户余额,方法:查询余额 、存款、取款
class user
{
public int balance;
public int searchb()
{
return balance;
}
public void put(int money)
{
balance = balance + money;
}
public void get(int money)
{ balance = balance - money;
}
public user()
{
this.balance = ;
} }
//(2)编写测试类,实现存款、取款,并显示账户余额
class test
{
static void Main(string[] args)
{
user user1 = new user();
Console.WriteLine("1:存钱");
Console.WriteLine("2:取钱");
Console.WriteLine("3:查询余额");
int single = Convert.ToInt32(Console.ReadLine());
switch (single)
{
case :
{
Console.WriteLine("存储数量:");
int money = Convert.ToInt32(Console.ReadLine());
user1.put(money);
Console.WriteLine("存储完成");
Console.WriteLine("您的余额:" + user1.searchb());
}
break;
case :
{
Console.WriteLine("取款金额:");
int money = Convert.ToInt32(Console.ReadLine());
user1.get(money);
Console.WriteLine("取款完成");
Console.WriteLine("您的余额:" + user1.searchb()) ;
}
break;
case :
{
Console.WriteLine("余额:"+ user1.searchb()); }
break;
default:
Console.WriteLine("指令不正确!");
break;
} }
}
}

3、使用面向对象的思想编写一个计算器,可以实现两个数的加、减、乘、除运算。提示:

编写Calculator类:

(1)定义成员变量为运算数1(num1)和运算数2(num2)

(2)实施成员方法“加”(add),“减”(minus),“乘”(multiple),“除”(divide)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
//3、使用面向对象的思想编写一个计算器,可以实现两个数的加、减、乘、除运算。提示:
//编写Calculator类:
//(1)定义成员变量为运算数1(num1)和运算数2(num2)
//(2)实施成员方法“加”(add),“减”(minus),“乘”(multiple),“除”(divide)
class Calculator
{
public int num1;
public int num2;
public int add()
{
return num1 + num2;
}
public int minus()
{
return num1 - num2;
}
public int multiple()
{
return num1 * num2;
}
public double divide()
{
return (double)num1 / num2;
}
public Calculator(int num1, int num2)
{
this.num1=num1;
this.num2=num2;
} }
class test
{
static void Main(string[] args)
{
Calculator ca = new Calculator(, );
Console.WriteLine(ca.num1+"+"+ca.num2+"="+ca.add());
Console.WriteLine(ca.num1 + "-" + ca.num2 + "=" + ca.minus());
Console.WriteLine(ca.num1 + "*" + ca.num2 + "=" + ca.multiple());
Console.WriteLine(ca.num1 + "/" + ca.num2 + "=" + ca.divide()); }
}
}

4、设计一个类CalculateArea,重载其方法Area,以实现能够计算圆(1个参数)、长方形(正方形)(2个参数)、三角形的面积(3个参数);并编写测试类,显示计算的面积。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
//4、设计一个类CalculateArea,重载其方法Area,以实现能够计算圆(1个参数)、长方形(正方形)(2个参数)、三角形的面积(3个参数);
//并编写测试类,显示计算的面积。
//5、设计一个类MyClass,重载其方法Max,以实现能够比较2个整数或2个字符串的大小;并编写测试类,显示比较结果。
//6、在类中定义一个方法,实现计算不定数量整数的平方和。如:222+332+122=1717
class CalculateArea
{
public double Area(int r)
{
return Math.PI*r*r;
}
public double Area(int longs,int width)
{
return longs*width;
}
public double Area(int di,int h,int num3)
{
return / 2.0 * di * h;
} }
class test
{
static void Main(string[] args)
{
CalculateArea ca= new CalculateArea();
Console.WriteLine("半径为1 的圆的面积为:"+ca.Area());
Console.WriteLine("长为1,宽为2的长方形的面积为:" + ca.Area(,));
Console.WriteLine("底为1,高为2的三角形的面积为:" + ca.Area(,,));
}
}
}

5、设计一个类MyClass,重载其方法Max,以实现能够比较2个整数或2个字符串的大小;并编写测试类,显示比较结果。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
//5、设计一个类MyClass,重载其方法Max,以实现能够比较2个整数或2个字符串的大小;并编写测试类,显示比较结果。
class MyClass
{
public int Max(int num1,int num2)
{
if (num1 > num2)
{
return ;
}
else if (num1 < num2)
{
return -;
}
else
{
return ;
} }
public int Max(string num1, string num2)
{
return string.Compare(num1, num2);
}
} class test
{
static void Main(string[] args)
{
MyClass my = new MyClass();
Console.WriteLine(my.Max(, ));
Console.WriteLine(my.Max("aaa","bbb"));
}
}
}

6、在类中定义一个方法,实现计算不定数量整数的平方和。如:222+332+122=1717

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
//6、在类中定义一个方法,实现计算不定数量整数的平方和。如:222+332+122=1717
class cu
{
public int cunum(params int[] num)
{
int rel=;
for (int i = ; i < num.Length; i++)
{
rel =rel+ num[i] * num[i];
}
return rel;
}
}
class test
{
static void Main(string[] args)
{
cu cu = new cu();
int[] num = new int[] { ,,};
Console.WriteLine( cu.cunum(num));
}
}
}

2、假设某动物园管理员每天需要给他所负责饲养的狮子、猴子和鸽子喂食。我们用一个程序来模拟他喂食的过程。建立三个类Lion、Monkey、Pigeon分别代表三种动物。饲养员用一个Feeder类来表示。

(1) 由于三种动物吃的东西不一样,Feeder类必须拥有喂三种动物的公有方法。

(2) 狮子、猴子和鸽子都是动物,可以建立一个Animal抽象基类,让狮子、猴子和鸽子从其派生出来。

(3) 不同的动物吃不同的食物,所以在Animal类中定义一个抽象的Eat方法,由子类负责实 现此方法。

(4) 编写一个测试类,测试饲养员喂养上述3种动物。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace test
{
//(1) 由于三种动物吃的东西不一样,Feeder类必须拥有喂三种动物的公有方法。
//(2) 狮子、猴子和鸽子都是动物,可以建立一个Animal抽象基类,让狮子、猴子和鸽子从其派生出来。
//(3) 不同的动物吃不同的食物,所以在Animal类中定义一个抽象的Eat方法,由子类负责实 现此方法。
abstract class animal
{
public abstract void eat();
}
class Lion:animal
{
public override void eat()
{
Console.WriteLine("狮子吃肉"); }
}
class Monkey:animal
{
public override void eat()
{
Console.WriteLine("猴子吃香蕉");
}
}
class Pigeon:animal
{
public override void eat()
{
Console.WriteLine("鸽子吃粮食");
}
}
class Feeder{
public void feed(animal an)
{
an.eat();
} } //(4) 编写一个测试类,测试饲养员喂养上述3种动物。 class test
{
static void Main(string[] args)
{
Feeder fd = new Feeder();
Pigeon pi= new Pigeon();
Monkey mo = new Monkey();
Lion li= new Lion();
fd.feed(pi);
fd.feed(mo);
fd.feed(li);
}
}
}

c#作业(2班)的更多相关文章

  1. mock.js-无需等待,随机产生数据,让前端独立于后端进行开发

    mock.js所做的 基于 数据模板 生成模拟数据. 基于 HTML模板 生成模拟数据. 拦截并模拟 ajax 请求. Mock.js官方网址:http://mockjs.com/ 1.Mock.js ...

  2. 【项目 · Wonderland】立项报告

    [软件工程实践 · 团队项目] 第二次作业 团 队 作 业 原 文:http://www.cnblogs.com/andwho/p/7598662.html Part 0 · 简 要 目 录 Part ...

  3. c#作业题

    第三章 语法基础Ⅱ 上机练习 1. 编写一个控制台程序,要求将字符串中的每个字符颠倒输出. string str = "ABC"; Console.WriteLine(str); ...

  4. mockJs语法糖用例

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. mock造数据

    前端开发,需要和后台联调:很多时候,前端开发并不需要等后台完全写好接口在去联调,自己可以写死数据,渲染数据,加样式.后台人员有时会很忙,他没有时间写好返回所有的数据等等,特别是新开一个项目,从零开始的 ...

  6. 网络1711班 C语言第四次作业批改总结

    网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...

  7. 网络1711班 C语言第七次作业批改总结

    网络1711班 C语言第七次作业批改总结 1.本次作业评分细则 1.1 基本要求(1分) 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 泛泛而谈(最多七分) 1 ...

  8. 网络1711班 C语言第八次作业批改总结

    网络1711班 C语言第七次作业批改总结 最近在忙一些琐事,没能及时批改大家的作业,连续两次作业总结也没有很用心写,在这要给大家say sorry. 1.本次作业评分细则 1.1 基本要求(1分) 按 ...

  9. python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)

    python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...

  10. 【第一次作业】&&软件工程大一班---甘昀

    这个作业属于哪个课程: <课程的链接点这里>  这个作业要求在哪里: <作业要求的链接点这里> 我在这个课程的目标是:  学会软件开发的流程和思想 这个作业在哪个具体方面帮助我 ...

随机推荐

  1. Linq学习(一)

    与LINQ有关的语言特性 1.隐式类型 var 2.匿名类型 如:var obj = new {Guid.Empty, myTitle = "匿名类型", myOtherParam ...

  2. mssql 格式化字符串 /时间 年月日时分秒

    比如:1 想格式化 000001,100 格式化为000100: 思路是这样的 1000000 +格式化的数字 取后6位: select   right(cast(power(10,6) as var ...

  3. easyui中的依赖关系

    参考自:http://www.easyui.info/archives/765.html 在使用easyui的过程中发现各个组件直接存在依赖关系,也就是上层的复杂组件依赖于一个或者多个简单组件,复杂组 ...

  4. 在线cron生成器

    什么是cron表达式: cron表达式主要是用在Quartz框架中,Quartz是一个完全由java编写的开源作业调度框架,最主要的功能就是调度器(完成定时任务),可以与javaEE或者javaSE应 ...

  5. Myeclipse中生成subscription code的代码

    //代码如下: package com.qls.AddingMethodsToAnEnum; import java.io.*; public class MyEclipseGen { private ...

  6. java算法(一) 直接选择排序

    一.基本概念 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换), 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以 ...

  7. .com和.cn域名的区别所在,各个域名后缀含义

    很多人在注册域名的时候不明白域名后缀的含义,在这里就介绍两种最为常用的域名,介绍下他们的区别以及适用的范围.需要先查询是否被注册,我们经常去的就是西部数据和万网,查询并注册未被注册的域名,一般无论是什 ...

  8. 关于String函数

    1.常常忘记加string 头文件 2.size和length函数没有区别,length函数是为了增强可读性 3.substr函数  s.substr(a,b)表示从a开始后的b位 s.substr( ...

  9. memcached 实现读锁

    memcached锁,网上大多就介绍乐观锁(cas)[1.2.4以上版本,telnet连接上memcache使用status可以查看版本号].核心就是每次写入数据的时候使用 cas($cas_toke ...

  10. ajax+json模态框中分页(spring+struts+mybatis+easyui分页插件)

    0.业务需求: 点击每个数字的时候可以显示每个对应的详细记录.也就是得点击11的时候拿着开采部与C级去查询.