基础测试学习笔记

1、

  class Program
    {
        // 用户输入一个“2008-01-02”格式的日期,分析用户输入的日期然后按照“2008年1月2日”的格式重新输出。

        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个格式如xxxx-xx-xx的日期,例如:2008-01-02");   //提示用户输入一个指定格式的日期
            string s = Console.ReadLine();    //获取用户输入的日期,赋值给s
            string[] a = s.Split('-');      //以-为分割点,分割字符串s。并赋值给a
            Console.WriteLine("{0}年{1}月{2}日",a[0],a[1],a[2]);   //输出日期
            Console.ReadKey();

        }
    }

重点①: string []str =s.Split('_');

Split

   1.  Split在上面情况下用单个字符的分隔,分隔符为‘—’,分隔后存放在字符串数组a中。

   2. 用于多个字符分隔:

          例如:string str=“qqqqjaaaabcccc”;

                   string [] strs=str.Split(new char[]{‘j‘,’b’});

                   foreach(string i in strs)

                   Console.WriteLine(i.ToString());

                 输出结果:

                qqqq

                aaaa

                cccc

3.用字符串分隔:

       string str="aaajsbbbjsccc";

       string [] strs=Regex.Split(str,“js”,RegexOptions.ignoreCase});

       foreach(string i in strs)

          Console.WriteLine(i.ToString());

输出结果

                aaa

                bbb

                ccc

重点②:

Console.WriteLine("{0}年{1}月{2}日",a[0],a[1],a[2]);   //输出日期

上面代码中的:{0}年{1}月{2}日",a[0],a[1],a[2];{}为占位符,和",a[0],a[1],a[2]是对应的;通俗点就是挖坑填坑

2、分别让用户输入用户名和密码,如果用户名不为admin,则提示“用户名不存在”,如果用户名为admin,密码为88888888,则提示“登录成功”,否则提示“密码错误”。

 static void Main(string[] args)
        {
            //提示用户输入用户名
            Console.WriteLine("请输入用户名:");
            //用户输入的字符串赋值给useName
            string userName = Console.ReadLine();
            //提示用户输入密码
            Console.WriteLine("请输入密 码:");
            //用户输入的字符串赋值给pwd
            string pwd = Console.ReadLine();

            //用if语句判断用户输入的用户名是否等于admin并且密码等于88888888,如果等于执行下条语句,否则进入else
            if (userName == "admin" && pwd == "88888888")
            {
                //提示登录成功
                Console.WriteLine("登陆成功");
            }
                
            else
            {
                //判断用户名是否等于admin,如果等于执行下条语句,否则进入else
                if (userName != "admin")
                {
                    //提示用户名不存在
                    Console.WriteLine("用户名不存在");
                }
                else
                    //提示密码错误
                    Console.WriteLine("密码错误");
            }

        }
    }

3、求1-100之间的偶数和

   static void Main(string[] args)
        {
            //定义变量sun,i,并把0赋值给sum
            int sum = 0, i ;
            //用for循环进行1到100偶数加法运算,赋i的值为0,i小于等于100为循环条件,每次循环后i加2;
            for (i = 0; i <= 100; i = i + 2)
            {
                //把sum和i相加,并赋给sum,
                sum = sum+i;
            }
            Console.WriteLine("1-100之间的偶数和为:{0}",sum);
            Console.ReadKey();
        }
    }

4、定义两个变量如:a b分别赋值为10和5,写程序交换两个变量的值

 class Program
    {
        //定义两个变量如:a b分别赋值为10和5,写程序交换两个变量的值
        static void Main(string[] args)
        {
            //定义两个变量a b分别赋值为10和5,定义变量c,用于临时存放b的值
            int a = 10, b = 5,c;
            //b的值赋值给变量c
            c = b;
            //a的值赋值给变量b
            b = a;
            //把c中存放原b的值赋值给变量a
            a = c;
            //输出a,b交换过后的值
            Console.WriteLine("a={0},b={1}",a,b);
            Console.ReadKey();
        }
    }

    注意:两个变量交换值时要定义一个中间变量,用于临时存放其中一个值。以完成两个值交换

5、用控制台程序输出九九乘法表;输出结果按下图所示

1*1=1 1*2=2   2*2=4 1*3=3   2*3=6   3*3=9

代码如下:

 static void Main(string[] args)
        {
            //定义两个变量i,j用于计算及控制循环
            int i, j;
            //初始化i=1,用来控制列数,当i小于9时执行for循环,后i加1
            for (i = 1; i <= 9; i++)
            {
                //初始化j=1,用来控制行数,当j不大于i时执行for循环,后i加1
                for (j = 1; j <= i; j++)
                {         
                    //输出结果
                       Console.Write("\t{0}*{1}={2}", j, i, i * j);
                }
                //执行一个内循环换行一次
                Console.WriteLine();
            }
            //防止输出的结果一闪而过
            Console.ReadKey();
        }

   注意:用两个for循环分别控制行和列,其中“\t”也相当于占位符,相当于空格

6、接收用户输入的一句英文,将其中的单词以反序输出。  例如:“I love you”→“i evol uoy”

static void Main(string[] args)
        {
            //提示用户输入一句英文
            Console.WriteLine("请输入一句英文");
            //把用户输入的英文放在strs中
            string strs= Console.ReadLine();
            //Split分割字符串,并把分割后的字符串赋给str
            string[] str= strs.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            //定义字符串newstrs用来放反序字符串
            string newstrs = "";
            //用于控制每个str[]每个值都可以执行for语句
            for (int i = 0; i < str.Length; i++)
            {
               // 将字符串str[i]拆分为字符到数组chs
                char[] chs = str[i].ToCharArray();
                //将chs倒序
                Array.Reverse(chs);
                //倒序后的chs重新赋值给str[i]
                str[i] = new string(chs);
                //将str[i]和空格连接得到字符串newstrs
                newstrs += str[i] + " ";
            }
            //输出反序后的字符串
            Console.WriteLine(newstrs.Trim());
            Console.ReadKey();

        }

重点③:

string[] str= strs.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);红色区域可以去掉分隔后产生的空白项

绿色表示以空格为分隔符分隔字符串,把分隔的字符串放在字符串数组str里

重点④:

                Array.Reverse(chs); 把反转一维字符数组cha的顺序

                如果cha[]a={'0','1','2'};

               Array.Reverse(a);后char []a={'2','1','0'}

              newstrs += str[i] + " "; //将str[i]和空格连接得到字符串newstrs

7、c#时间格式转换汉字大写 比如: “2011年6月4日” 转换成 “二零一一年六月四日”

代码如下:

static void Main(string[] args)
        {
            //提示用户输入指定格式的日期
            Console.WriteLine("请输入一个xxxx年x月x日,例如:2011年6月4日");
            //用户输入的字符串放在定义的字符串date中
            string date = Console.ReadLine();
            //定义字符串newDate并初始化为空,用于存放转换后的日期
            string newDate = "";
            //把字符串date拆成数组放在数组cha中
            char[] cha = date.ToCharArray();
            //此循环用于转换每个cha中的字符
            for (int i = 0; i < cha.Length; i++)
            {
                switch (cha[i])
                {
                    //case为switch的入口,当cha[i]为‘0’时,进入下一步执行赋值语句
                    case '0': cha[i] = '';
                        //跳出循环
                        break;
                    case '1': cha[i] = '';
                        break;
                    case '2': cha[i] = '';
                        break;
                    case '3': cha[i] = '';
                        break;
                    case '4': cha[i] = '';
                        break;
                    case '5': cha[i] = '';
                        break;
                    case '6': cha[i] = '';
                        break;
                    case '7': cha[i] = '';
                        break;
                    case '8': cha[i] = '';
                        break;
                    case '9': cha[i] = '';
                        break;
                    //当cha[i]非以上所有情况时,执行defule语句,跳出循环
                    default: break;
                }
                //跳出循环后执行把cha[i]连接到newDate,生成新的字符串,进入for循环
                newDate += cha[i];
            }
            //输出转换后的日期
            Console.WriteLine("{0}转换后为:{1}", date, newDate);
            Console.ReadKey();
        }
    }

重点⑤:

char[] cha = date.ToCharArray() 

ToCharArray作用:将字符串date拆分为字符到数组cha。

8、通过循环找出下面字符串“fjasdfefvadsjfioefjdsaijefesdfaee”中E字符的位置并输出

static void Main(string[] args)
        {
            //定义并初始化字符串str
            string str = "fjasdfefvadsjfioefjdsaijefesdfaee";
            //定义并转换为初始化变量j,i
            int j = 0, i = 0;
            //把字符串str转换为字符数组cha
            char[] cha = str.ToCharArray();
            //用foreach循环语句遍历cha
            foreach (char item in cha)
            {
                //用i计算e出现的位置
                i++;
                //判断cha是否为e
                if (item == 'e')
                {
                    //如果cha[i]=='e',输出其位置,j用来计算是第几个e
                    Console.WriteLine("第{0}个e的位子在第:{1}位", ++j, i);
                }
            }
            Console.ReadKey();
        }

9、

班级学生总成绩和平均成绩计算:1)让用户输入班级人数  2)让用户依次输入该班级每个学员的姓名和成绩(0-100之间)

3)按成绩进行排序,按成绩由高到低依次输出学生的姓名和成绩

static void Main(string[] args)
        {
            //提示用户输入班级人数
            Console.WriteLine("请输入班级人数:");
            //定义变量i,和定义num—用于存放班级人数
            int i, num = Convert.ToInt32(Console.ReadLine());
            //定义并初始化浮点数值类型的数组sco,用于存放学生的分数
            double[] sco = new double[num];
            //定义并初始化字符串数组name,用于存放学生姓名
            string[] name = new string[num];
            //用for循环输入学生姓名和分数
            for (i = 0; i < num; i++)
            {
                Console.WriteLine("请输入学生姓名:");
                name[i] = Console.ReadLine();
                Console.WriteLine("请输入分数:");
                sco[i] = Convert.ToInt32(Console.ReadLine());

            }
            //两个一维数组根据第一个参数sco从小到大进行排序,索引项name也会匹配
            Array.Sort(sco, name);
            //用for循环反序输出排序后的姓名和分数
            for (int t = num - 1; t >= 0; t--)
            {
                Console.WriteLine("姓名:{0},分数{1}", name[t], sco[t]);
            }

            Console.ReadKey();

        }

重点⑥:

         

原文地址:https://www.cnblogs.com/guohuiru/p/2781529.html