C#--第三次试验

注:重点使用C#中方法的使用,而不是侧重算法
【实验目的】
1.进一步掌握类和对象的使用。
2.掌握字段、属性、方法(参数、重载、重写与覆盖)、继承和多态的使用。
3.掌握C#常用的基础类和集合的使用。
【实验内容】
1.编写一个控制台应用。输入一组整数,输出所有的奇数。
2.输入一个由若干字符组成的字符串,输出其中的大写字母、小写字母、数字和其他字符的个数。
3.输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
4.设计一个程序,输入10个数存入数组中,然后实现冒泡排序


3.输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
学习使用Hashtable Class(转)
(1)编写一个控制台程序,创建哈希集合,内含部分国家的名称和首都,提示用户输入一个国家名称,则在哈希集合中查找该国首都名称并输出。
建立Hashtable类,形成映射,如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace hashtable { 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            Hashtable hst = new Hashtable(); 
            hst.Add("China", "Beijing"); 
            hst.Add("England", "London");
            hst.Add("Japan", "Tokyo"); 
            string a; 
            a = Console.ReadLine();
            Console.WriteLine(hst[a]); 
            Console.Read(); 
        } 
    } 
}

(2)输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
方案1:使用哈希表的泛型Dictionary<>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;  
namespace hashtable {     
    class Program     
    {         
        static void Main(string[] args)         
        {             
            Dictionary <int, string> hst = new Dictionary <int, string>();             
            string name;             
            int sid;             
            string temp;             
            while (true)             
            {                 
                Console.Write("输入学生姓名: ");                 
                name = Console.ReadLine();                 
                Console.Write("输入学生学号: ");                 
                sid = Convert.ToInt32(Console.ReadLine());                   
                if (hst.ContainsKey(sid))                 
                {                     
                    Console.WriteLine("该值已存在,是否继续添加?(Y/N)");                     
                    temp = Console.ReadLine();                     
                    if (temp == "Y" || temp == "y")                        
                        continue;                     
                    else                       
                        break;                 
                }                 
                else                
                {                    
                    hst.Add(sid, name);                    
                    Console.WriteLine("添加成功,是否继续添加?(Y/N)");                    
                    temp = Console.ReadLine();                     
                    if (temp == "Y" || temp == "y")                         
                        continue;                     
                    else                        
                        break;                 
                }             
            }//end of input            
            foreach (var item in hst)             
            {                 
                if (item.Key % 2 == 1)                 
                {                     
                    Console.WriteLine("{0}, {1}", item.Value, item.Key);                
                }            
            }              
            Console.Read();        
        }     
    } 
} 

方案二:使用哈希表Hastable()

using System; 
using System.Collections.Generic;
using System.Linq; 
using System.Text; 
using System.Collections;  
namespace hashtable {     
    class Program     
    {         
        static void Main(string[] args)         
        {             
            Hashtable hst = new Hashtable();             //hst[key] =  value;             
            string name;             
            int sid;             
            string temp;             
            while (true)             
            {                 
                Console.Write("输入学生姓名: ");                 
                name = Console.ReadLine();                 
                Console.Write("输入学生学号: ");                 
                sid = Convert.ToInt32(Console.ReadLine());                                   
                if (hst[sid] != null)                 
                {                     
                    Console.WriteLine("该值已存在,是否继续添加?(Y/N)");                     
                    temp = Console.ReadLine();                     
                    if (temp == "Y" || temp == "y")                        
                        continue;                     
                    else                        
                        break;                
                }                 
                else                
                {                    
                    hst.Add(sid, name);                    
                    Console.WriteLine("添加成功,是否继续添加?(Y/N)");                     
                    temp = Console.ReadLine();                     
                    if (temp == "Y" || temp == "y")                         
                        continue;                     
                    else                        
                        break;                 
                }             
            }//end of input             
            int tmp;             
            foreach (DictionaryEntry item in hst)             
            {                 
                tmp = (int)item.Key;                
                if (tmp % 2 == 1)                    
                    Console.WriteLine("{0}, {1}", item.Value, item.Key);             
            }               
            Console.Read();         
        }    
    } 
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值