码迷,mamicode.com
首页 > 其他好文 > 详细

练习:结构体、枚举类型——8月3日

时间:2016-08-03 21:54:55      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

练习一:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace 练习题
{
    class Program
    {
        //练习1:结构体
        struct Student
        {
            public int no;
            public string name;
            public string sex;
            public double score;
        }
        
        
        static void Main(string[] args)
        {
            //练习1:将结构体添加到集合中,取出某个索引位置的信息进行查看
            Console.Write("请输入班级人数:");
            int n = int.Parse(Console.ReadLine());
            //定义一个集合,并初始化
            ArrayList al = new ArrayList();
            for (int i = 0; i < n; i++)
            {
                //初始化结构体,每放一个人的信息时都要进行初始化,所以放在循环内部
                Student st = new Student();
                Console.Write("请输入第{0}个人的学号:", (i + 1));
                st.no = int.Parse(Console.ReadLine());
                Console.Write("请输入第{0}个人的姓名:", (i + 1));
                st.name = Console.ReadLine();
                Console.Write("请输入第{0}个人的性别:", (i + 1));
                st.sex = Console.ReadLine();
                Console.Write("请输入第{0}个人的分数:", (i + 1));
                st.score = double.Parse(Console.ReadLine());
                al.Add(st);
            }
            //重新定义一个结构体,
            Student st1 = new Student();
            //取出某个索引号位置的信息进行查看            
            Console.WriteLine("按回车键查看第二个学生的信息!");
            Console.ReadLine();
            st1 = (Student)al[1];
            Console.WriteLine("该学生的学号是:{0},姓名是:{1},性别是:{2},分数是:{3}", st1.no, st1.name, st1.sex, st1.score);
            Console.ReadLine();
        }
    }
}

技术分享

练习2:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace 练习题
{
    class Program
    {       //练习2:结构体
        struct student
        {
            public string name;
            public double yu;
            public double shu;
            public double ying;
        }
        
        static void Main(string[] args)
        {
            //练习2:定义一个结构体,里面具有姓名,语数英成绩            
            //将,每个人的信息放入结构体中
            //将所有人的信息添加进集合中
            //求语文分数的总分
            //求数学分数的平均分
            //查看英语分数的两个最高分的人的全部信息(姓名、语文成绩,数学成绩,英语成绩)
            //使用冒泡排序,
            Console.Write("请输入班级人数:");
            int n = int.Parse(Console.ReadLine());
            //集合初始化,初始化首先要在上面引用:using System.Collections;
            ArrayList al = new ArrayList();
            double a = 0;
            double b = 0;
            for (int i = 0; i < n; i++)
            {
                //结构体初始化,每放一个人的信息就要重新初始化
                student st = new student();
                Console.Write("请输入第{0}个人的姓名:", (i + 1));
                st.name = Console.ReadLine();
                Console.Write("请输入第{0}个人的语文成绩:", (i + 1));
                st.yu = double.Parse(Console.ReadLine());
                a += st.yu;
                Console.Write("请输入第{0}个人的数学成绩:", (i + 1));
                st.shu = double.Parse(Console.ReadLine());
                b += st.shu;
                Console.Write("请输入第{0}个人的英语成绩:", (i + 1));
                st.ying = double.Parse(Console.ReadLine());
                al.Add(st);
            }
            Console.WriteLine("所有人的信息输入完毕,请按回车键继续!");
            Console.ReadLine();
            Console.WriteLine("语文成绩的总分数是:" + a);
            Console.WriteLine("数学成绩的平均分数是:" + b / n);
            //冒泡排序,英语两个最高分            
            for (int i = 0; i < n; i++)
            {
                student s1 = new student();
                s1 = (student)al[i];
                for (int j = i + 1; j < n; j++)
                {
                    student s2 = new student();
                    s2 = (student)al[j];
                    if (s1.ying < s2.ying)
                    {
                        object zhong = al[i];
                        al[i] = al[j];
                        al[j] = zhong;
                    }
                }
            }
            student st1 = new student();
            st1 = (student)al[0];
            student st2 = new student();
            st2 = (student)al[1];
            Console.WriteLine("英语分数最高的第一个同学是:{0},语文分数为:{1},数学分数为:{2},英语分数为:{3}", st1.name, st1.yu, st1.shu, st1.ying);
            Console.WriteLine("英语分数最高的第二个同学是:{0},语文分数为:{1},数学分数为:{2},英语分数为:{3}", st2.name, st2.yu, st2.shu, st2.ying);
            Console.ReadLine();
            

        }
    }
}

技术分享

练习3:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace 练习题
{
    class Program
    {
               
        static void Main(string[] args)
        {            
            //练习3:三个候选班长,张三,李四,王五,20个人投票,
            //1,2,3分别对应张三,李四,王五,其他均视为废票,
            //要求20个人输入的全部放进数组中,查看谁的票数最高
            
            int[] array = new int[20];
            for (int i = 0; i < 20; i++)
            {
                Console.Write("请输入第{0}个人的投票数:", (i + 1));
                array[i] = int.Parse(Console.ReadLine());
            }
            int sum1 = 0;
            int sum2 = 0;
            int sum3 = 0;
            int sum4 = 0;
            for (int i = 0; i < 20; i++)
            {
                if (array[i] == 1)
                {
                    sum1++;
                }
                else if (array[i] == 2)
                {
                    sum2++;
                }
                else if (array[i] == 3)
                {
                    sum3++;
                }
                else
                {
                    sum4++;
                }
            }
            Console.WriteLine("作废票数为:" + sum4);
            Console.WriteLine("张三的得票数为:" + sum1);
            Console.WriteLine("李四的得票数为:" + sum2);
            Console.WriteLine("王五的得票数为:" + sum3);
            if (sum1 > sum2 && sum1 > sum3)
            {
                Console.WriteLine("当选班长的是:张三!");
            }
            else if (sum2 > sum1 && sum2 > sum3)
            {
                Console.WriteLine("当选班长的是:李四!");
            }
            else if (sum3 > sum1 && sum3 > sum2)
            {
                Console.WriteLine("当选班长的是:王五!");
            }
            else
            {
                Console.WriteLine("有相同票数,请重新投票!");
            }
            Console.ReadLine();
            

        }
    }
}

技术分享

 

练习:结构体、枚举类型——8月3日

标签:

原文地址:http://www.cnblogs.com/juyangchao12/p/5734479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!