第二章

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. SQL 基础笔记(二):进阶查询

    本笔记整理自<SQL 基础教程>.<MySQL 必知必会>和网上资料.个人笔记不保证正确. 一.复杂查询 视图 将 SELECT 查询包装成一个虚拟表,该虚拟表就被称为视图.( ...

  2. django QuerySet 的常用API

    为了加深对queryset对象api的了解,我们建立了以下示例模型: from django.db import models class Author(models.Model): "&q ...

  3. LeetCode -- Construct Binary Tree from Preorder and Inorder

    Question: Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may as ...

  4. POJ 3348 Cows | 凸包模板题

    题目: 给几个点,用绳子圈出最大的面积养牛,输出最大面积/50 题解: Graham凸包算法的模板题 下面给出做法 1.选出x坐标最小(相同情况y最小)的点作为极点(显然他一定在凸包上) 2.其他点进 ...

  5. 交叉编译HTOP并移植到ARM嵌入式Linux系统

    原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组 ...

  6. 《c程序设计语言》-2.6~2.8

    #include <stdio.h> unsigned setbits(unsigned x, int p, int n, unsigned y) { return (x & (( ...

  7. html中<a href> </a>的用法

    一.绝对跳转    <a href="http://www.baidu.com/">百度</a> 二.相对跳转有如下方式,需要了解(以下的例子中,分别以你的 ...

  8. glEnable(GL_DEPTH_TEST)的问题

    http://www.gameres.com/msg_195903.html 在程序中加入glEnable(GL_DEPTH_TEST)之后显示就完全黑屏了,即使是清空了深度缓冲glClear(GL_ ...

  9. C++编程见闻

    今天心血来潮,看到很多天借的一本书<轻松学C++编程>,书就一般,但是由于自己的刚开始学c++,勉强凑活来看吧,就把学习的过程亮出来,权且对自己的一种变相激励也好. 程序一 首先:打开vi ...

  10. Linux 设备驱动--- 阻塞型字符设备驱动 --- O_NONBLOCK --- 非阻塞标志【转】

    转自:http://blog.csdn.net/yikai2009/article/details/8653697 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 阻塞 阻 ...