C#程序设计之常用数据结构与算法
Posted shangzh!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#程序设计之常用数据结构与算法相关的知识,希望对你有一定的参考价值。
C#程序设计之常用数据结构与算法
例题1
题目描述
输入一个字符串,统计其中有多少个单词。单词之间用空格分开。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ex7_1
class Program
static void Main(string[] args)
string strInput = "I am happy! me too!";
char[] separator = ' ' ;
string[] splitStrings = new string[100];
splitStrings = strInput.Split(separator);
int i = splitStrings.Length;
Console.WriteLine("此字符串共有0个单词组成。", i);
Console.ReadLine();
运行结果
例题2
题目描述
设定一个有大小字母的字符串,先将字符串的大写字母输出,再将字符串的小写字母输出。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ex7_2
class Program
static void Main(string[] args)
string strInput = "AdbdeisiisiooiOOOPwWW";
//判定是否含有大写字母
for (int i = 0; i < strInput.Length; i++)
int AsciiCode = (short)(strInput[i]);
if (AsciiCode >= 65 && AsciiCode <= 90)
Console.Write(strInput[i]);
//判定是否含有小写字母
for (int i = 0; i < strInput.Length; i++)
int AsciiCode = (short)(strInput[i]);
if (AsciiCode >= 97 && AsciiCode <= 122)
Console.Write(strInput[i]);
Console.ReadLine();
运行结果
例题3
题目描述
设定一个有大小写字母的字符串和一个查询字符串,使用String类的IndexOf判断在该字符串中要查找的字符串出现的次数。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ex7_3
class Program
static void Main(string[] args)
string strInput = "Welcome to! Welcome to! me too!";
string strQuery = "to!";
string strTemp;
int nCount = 0;
strTemp = strInput;
//取子串的位置
Start: int nSubstring = strTemp.IndexOf(strQuery);
if (nSubstring >= 0)
nCount++;
strTemp = strTemp.Remove(nSubstring, strQuery.Length);
goto Start;
Console.WriteLine("to!" + "在" + "Welcome to! Welcome to! me too!" + "出现的次数为:0", nCount);
Console.Read();
运行结果
例题4
题目描述
将一个5 X 3的二维数组转置输出。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ex7_6
class Program
static void Main(string[] args)
int[,] OriginalArray = 1, 2, 3 , 4, 5, 6 , 7, 8, 9 ,
10, 11, 12 , 13, 14, 15 ;
int[,] ReversionArray = new int[3, 5];
for (int i = 0; i <= OriginalArray.GetUpperBound(0); i++)
for (int j = 0; j <= OriginalArray.GetUpperBound(1); j++)
ReversionArray[j, i] = OriginalArray[i, j];
Console.WriteLine("原始的数组为:");
PrintArray(OriginalArray);
Console.WriteLine("转置后的数组为:");
PrintArray(ReversionArray);
Console.ReadLine();
public static void PrintArray(int[,] intArray)
for (int i = 0; i <= intArray.GetUpperBound(0); i++)
for (int j = 0; j <= intArray.GetUpperBound(1); j++)
Console.Write(intArray[i, j] + " ");
Console.WriteLine();
运行结果
例题5
题目描述
输出10个数到一维数组中,分别实现数据的输入、排序及输出。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ex7_8
class Program
static int nCount = 10;
static int[] nArray = new int[10];
static void Main(string[] args)
CreateArray();
Console.WriteLine("原始的数组为:");
PrintArray(nArray);
//进行数组的排序
Array.Sort(nArray);
Console.WriteLine("排序后的数组为:");
PrintArray(nArray);
Console.ReadLine();
public static void CreateArray()
for (int i = 0; i < nCount; i++)
Console.WriteLine("请输入数组的第0元素:", i + 1);
int nTemp = Convert.ToInt32(Console.ReadLine());
nArray[i] = nTemp;
public static void PrintArray(int[] intArray)
for (int i = 0; i <= intArray.GetUpperBound(0); i++)
Console.Write(intArray[i] + " ");
Console.WriteLine();
运行结果
以上是关于C#程序设计之常用数据结构与算法的主要内容,如果未能解决你的问题,请参考以下文章