[C#]练习了下数组和类,C++ 基础还算可以,不是很吃力
2007-06-10 16:21
591 查看
using System; namespace _02 { class SortNum //输入几个数、排序、输出 { private int[] iNum; public SortNum() { Init(); InputValue(); } private void Init() //读入数字总数并分配空间 { Console.WriteLine("请输入数字的总数:"); try { iNum = new int[Int16.Parse(Console.ReadLine())]; } catch { Console.WriteLine("您输入的不是有效的数字。"); Init(); } } private void InputValue() //输入数字 { for(int i = 0;i < iNum.Length; i++) { Console.WriteLine("请输入第 {0} 个数字:", i + 1); try { iNum[i] = Int16.Parse(Console.ReadLine()); } catch { Console.WriteLine("您输入的不是有效的数字。"); i--; } } Console.WriteLine("输入结束。"); } public void Sort(bool inverse) //选择法排序, 若 inverse 为真则从大到小排序, 否则从小到大排序 { int i, j, temp; for (i = 0; i < iNum.Length; i++) { for (j = i + 1; j < iNum.Length; j++) { if (inverse) { if (iNum[i] < iNum[j]) { temp = iNum[i]; iNum[i] = iNum[j]; iNum[j] = temp; } } else { if (iNum[i] > iNum[j]) { temp = iNum[i]; iNum[i] = iNum[j]; iNum[j] = temp; } } } } } public void Sort() //从小到大 { Sort(false); } public void Print() //输出 { foreach (int num in iNum) { Console.Write("{0, 3}", num); } Console.Write("/n"); } } class Program { static void Main(string[] args) { do { SortNum a = new SortNum(); Console.WriteLine("您输入的数字是:"); a.Print(); a.Sort(); Console.WriteLine("从小到大排序后是:"); a.Print(); a.Sort(true); Console.WriteLine("从大到小排序后是:"); a.Print(); Console.Write("按 ESC 退出, 其他任意键继续.../n/n"); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); } } } /* * 学习手记 * * Console.ReadLine() 从标准输入设备读入一行字符串 * Int16.Parse() 将字符串转换为 Int16 类型数值 * try...catch... 出错控制,感觉用起来还挺方便 * 跟 C/C++ 的一个重大区别是,定义数组、类其实都相当于定义指针 * 并没有分配空间,还要用 new 去分配空间 * 据说不用 delete 它会自动回收空间 * 那么析构函数似乎用不太着了 * 居然不支持默认参数,只好用重载 * Console.ReadKey() 返回一个 ConsoleKeyInfo 对象, 其 Key 成员表示相应的键 * * 2005-06-09 */
相关文章推荐
- 蓝桥杯 - 基础练习 阶乘计算 -整数数组 耗时低~可以通过
- C02-程序设计基础提高班(C++)第6周上机任务-数组
- C++基础(3) —字符串,向量,数组
- C++基础概念-数组、指针和字符串
- 基础题练习——数组中的逆序对
- 遇到奇怪的C#/C/C++或者Java的bug可以去问问Coverity
- C++基础知识复习--结构体类数组作为函数参数
- 黑马程序员-----java基础③(数组及循环练习)
- C#之winform基础 listbox控件可以多选
- c#基础知识---参数数组
- c++不可以返回数组
- Java基础5--数组--数组练习
- C++基础编程练习14
- 基础知识系列☞C#中数组Array、ArrayList和List三者的区别
- C#基础------数组
- c#基础练习
- post提交表单的数据查看方式(不是很理解,但要会看,可以找人商讨下,比如崔老师,自己再看一遍HTTP基础)
- Java 基础一些代码练习笔记(数组复制)
- [C++学习历程]基础部分 C++中的指针数组和结构
- 【C/C++语言基础学习】在主函数的定义的指针数组、二维数组通过三级指针在被调用函数分配内存