日期:2014-05-17 浏览次数:20816 次
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:输出学号为奇数的所有学生 * 作 者:薛广晨 * 完成日期:2011 年 09 月 16 日 * 版 本号:x1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: 输入学号和姓名,对不存在的学号加到hashtable类的实例中, * 对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。 * 程序输出: * 程序头部的注释结束 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Student { class Program { static void Main(string[] args) { bool b = true; Console.Write("请您输入您想保存的学生数:"); int count = int.Parse(Console.ReadLine()); hashtable[] h = new hashtable[count]; int i = 1; do { if (i < count) { Console.Write("请您输入第{0}个学生的学号:", i); int num = int.Parse(Console.ReadLine()); Console.Write("请您输入第{0}个学生的姓名:", i); String name = Console.ReadLine(); for (int k = 0; k < i - 1; ++k) { if (h[k].get_Number().Equals(num)) { Console.WriteLine("该同学的信息已经保存了,请不要重复输入!"); b = false; break; } } if (b) { h[i - 1] = new hashtable(); h[i - 1].set_Input(num, name); ++i; } } else { Console.WriteLine("您输入的学生数已达到您刚才预先设定值,请停止输入!"); break; } Console.WriteLine(); Console.WriteLine("按0结束输入,任意键继续..."); if (Console.ReadLine() == "0") break; } while (true); Console.WriteLine(" {0} {1}", h[0].num, h[0].name); hashtable.output(h, i); Console.ReadKey(); } } class hashtable { public int num; public string name; public hashtable(int num1, string name1) { num = num1; name = name1; } public hashtable() { num = 0; name = null; } public void set_Input(int num1, string name1) { num = num1; name = name1; } public int get_Number() { return num; } public static void output(hashtable[] h, int i) { Console.WriteLine(" 学号 姓名"); for (int n = 0; n < i - 1; ++n) { if (h[n].get_Number() % 2 != 0) { Console.WriteLine(" {0} {1}", h[n].num, h[n].name); } } } } }
运行结果: