一、下面是一个由*号组成的4行倒三角形图案。

要求:

1、输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”;

2、在屏幕上打印这个指定了行数的倒三角形。

*******
*****
  ***
   *

static void Main(string[] args)
{ //1、每行需要填充的星号个数2*RowNum-1,
//2、假设有RowNum行,每行需要输出的元素总个数(包含空格占位符):2*RowNum-1
//3、从左边到右边开始填充的位置Position=RowNum - RowIndex
Console.WriteLine("请输入行数");
int RowNum=Convert.ToInt32( Console.ReadLine()); //总的行数
while (RowNum<3 ||RowNum>21) //判断输入是否合法
{
Console.WriteLine("总行数小于3或者大于21,请重新输入");
RowNum=Convert.ToInt32( Console.ReadLine());
}
int ToFillCounter;
for (int RowIndex = RowNum; RowIndex>0; RowIndex--) //控制行
{
ToFillCounter = 1;
for (int ColumnIndex = 0; ColumnIndex < 2*RowNum-1; ColumnIndex++)//控制列
{
if (RowNum - RowIndex <= ColumnIndex && ToFillCounter<=2*RowIndex-1)
{
Console.Write('*');
ToFillCounter++;
}
else
{
Console.Write(' ');
}
}
Console.WriteLine();
}
}

截图:

 

二、一个文本文件含有如下内容,分别表示姓名和成绩:

张三 90

李四 96

王五 78

赵六 82

提供用户一个控制台界面,允许用户输入要查询的姓名,输入姓名并且按回车以

后,打印出此人的成绩,如果不输入姓名直接按回车则显示所有人的姓名以及成

绩。(注意:不能使用数据库)

static void Main(string[] args)
{
String Path = @"D:\Data.txt"; if (!System.IO.File.Exists(Path))
{
Console.WriteLine("要读取的文件不存在");
return;
} Console.WriteLine("请输入要查询的名称");
//1、读取用户输入的指令。要嘛回车、要嘛姓名
string Request = Console.ReadLine();
//2、读取文件(打开文件、文件是否存在、按行读取)
using (StreamReader file = new StreamReader(Path, System.Text.Encoding.Unicode))
{
bool IsShowAllData = string.IsNullOrEmpty(Request.Trim());
if (IsShowAllData)
{
Console.WriteLine(file.ReadToEnd());
}
else
{ //3、按行查找文件中的内容
string LineReaded = string.Empty;
while (!file.EndOfStream)
{
LineReaded = file.ReadLine();
//4、找到了
if (LineReaded.Contains(Request))
{
Console.WriteLine(LineReaded);
return;
}
}
Console.WriteLine("没找到指定信息");//没找到输出提示信息
}
//5、关闭文件
file.Close();
}
}

结果截图:

 

三、说出TCP和UDP之间的区别,各有什么优缺点?

传输层的两大协议TCPUDP,到底用哪一个?这是所有基于网络通讯的应用程序在设计、开发时需要考虑的。

下面,我们先分别来看看TCP和UDP的优缺点,在后面,再来分析一下,什么时候该用TCP什么时候该用UDP

TCP的优点

  • 可靠,稳定

    TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

TCP的缺点

  • 慢,效率低,占用系统资源高,易被攻击

    TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。

    而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

UDP的优点

  • 快,比TCP稍安全

    UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击……

UDP的缺点

  • 不可靠,不稳定

    因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

基于上面的优缺点,那么:

什么时候应该使用TCP

当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

在日常生活中,常见使用TCP协议的应用如下:

  • 浏览器,用的HTTP
  • FlashFXP,用的FTP
  • Outlook,用的POP、SMTP
  • Putty,用的Telnet、SSH
  • QQ文件传输
  • …………

什么时候应该使用UDP

当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。

比如,日常生活中,常见使用UDP协议的应用如下:

  • QQ语音
  • QQ视频
  • TFTP
  • ……

以上《说出TCP和UDP之间的区别,各有什么优缺点? 》转载自http://www.ctowhy.com/132.html

C#笔试题(一)的更多相关文章

  1. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  2. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  3. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

  4. C#经典笔试题-获取字符串中相同的字符以及其个数

    public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

  5. flhs笔试题-回家上机实践

    这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...

  6. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  7. [c#基础]关于try...catch最常见的笔试题

    引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

  8. js作用域之常见笔试题,运行结果题

    笔试题中经常有运行结果题,而大多体型都是围绕作用域展开,下面总结了几种相关的题: 外层的变量函数内部可以找到,函数内部的变量(局部变量)外层找不到. function aaa() { var a = ...

  9. 【Android】一道Android OpenGL笔试题

    一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...

  10. C/C++ 笔试题

    /////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...

随机推荐

  1. oracle sql优化

    整理一下网上所看到sql优化方法 1.使用大写字母书写sql,因为oracle解释器会先将sql语句转换成大写后再解释 2    减少访问数据库的次数,多数情况下一条sql可以达到目的的,就不要使用多 ...

  2. 关于UID和GID的创建、修改、删除;简要举例

    用户.组和权限 安全3A资源分派 (authentication)认证 (authorization)授权 (accounting)审计 user( 用户) Linux用户:Username/UID ...

  3. Python 集合方法总结

    1.添加一个元素:    add(...) Addan element to a set. 1 2 3 4 >>> a = {'shaw',11,22} >>>a. ...

  4. Mysql 与日期和时间相关的函数

    目录: 常用日期函数 时间加减函数 date_forma函数 1. 常用日期函数 now() current_timestamp() sysdate() 实例一: 从上图可以看出三个函数都是用来获取当 ...

  5. (转载)IOS中UIScrollView的属性和委托方法

    http://www.jizhishusheng.com/?p=453   ---- 以下内容来自 UIScrollView 类负责所有基于 UIKit 的滚动操作一.创建 1. CGRect bou ...

  6. Spring MVC常见的三种URL请求参数的处理

    //方法1:@RequestParam //url:/test1?id=123 @RequestMapping(value = "/test1",method = RequestM ...

  7. cadence学习之——原理图库的添加及器件的放置

    画原理图,库是必不可少的,库有cadence自带的,也可以自己建自己的库,然后在画原理图工程时, 这些库都需要被添加进原理图工程才能使用. 1.库的添加 打开Place Part属性框,操作如下: ( ...

  8. Selenium2+python自动化14-iframe

    前言 有很多小伙伴在拿163作为登录案例的时候,发现不管怎么定位都无法定位到,到底是什么鬼呢,本篇详细介绍iframe相关的切换 以http://mail.163.com/登录页面10为案例,详细介绍 ...

  9. LeetCode(一)

    数据流的中位数 class MedianFinder { private Queue<Integer> maxHeap = new PriorityQueue(new Comparator ...

  10. POJ 3686 The Windy's 最小费用最大流

    每个工厂拆成N个工厂,费用分别为1~N倍原费用. //#pragma comment(linker, "/STACK:1024000000,1024000000") #includ ...