C#程序设计 第二章 数据类型与表达式 课后习题

  • Post author:
  • Post category:其他


知识点:

1..NET数据类型

(1)值类型

(2)引用类型

2.C#的数据类型

(1)简单类型

(2)枚举类型

(3)结构类型

(4)拆箱与装箱

(5)常量

(6)字符和字符串

(7)隐式类型

3.表达式

(1)算术运算符和算术表达式

(2)关系运算符和关系表达式

(3)逻辑运算符和逻辑表达式

(4)赋值运算符和赋值表达式

(5)自增运算符和自减运算符

(6)问号表达式

(7)位运算符

(8)表达式中各运算符的运算顺序

4.常用数学函数

5.例题

这是枚举类型中的一个完整例子

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

namespace _2_3
{
    /*
     * 枚举类型 声明如下
     * 访问修辞符 enum 枚举名:基础类型(未显示默认为int类型)
     */
    public enum TimeofDay //这是一个公开的 名为TimeofDay 类型为int的枚举声明
    {
        Morning,
        Afternoon,
        Evening
    }
    class Program
    {
        static void Main(string[] args)
        {
            WriteGreeting(TimeofDay.Morning); //表示引用WriteGreeting(TimeofDay TimeofDay)中的内容
            WriteGreeting(TimeofDay.Afternoon);
            WriteGreeting(TimeofDay.Evening);

            Console.Read();
        }

        static void WriteGreeting(TimeofDay TimeofDay)
        {
            switch (TimeofDay)
            {
                case TimeofDay.Morning:
                    Console.WriteLine("good morning");
                    break;
                case TimeofDay.Afternoon:
                    Console.WriteLine("good afternoon");
                    break;
                case TimeofDay.Evening:
                    Console.WriteLine("good evening");
                    break;

            }
        }
    }
}

5.例题

例2-5 根据三边长求三角形面积

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

//根据三边长求三角形面积

namespace _2_5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Please input a, b, c ="); // 输出提示语
            String inS = Console.ReadLine(); // 定义inS,接收字符串
            String[] inSS = inS.Split('*'); // 将输入的字符用*隔开并存到数组inSS中
            double a = Convert.ToDouble(inSS[0]); // 将inSS中的第一个字符转换为双精度,赋值给a
            double b = Convert.ToDouble(inSS[1]); // 同理
            double c = Convert.ToDouble(inSS[2]); // 同理
            var s = (a + b + c)/2; // 隐式声明,由编译器自行推断右边类型
            var area = Math.Sqrt(s * (s - a) * (s - b) * (s - c));// Sqrt表示求括号内的平方根
            Console.WriteLine("area = {0}, s = {1}", area, s);//输出

            Console.Read();
        }
    }
}

例2-6输入一个4位无符号整数,反序输出这4位数的4个数字字符

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

// 输入一个4位无符号整数,反序输出这4位数的4个数字字符
/*
 * 从输入的无符号整数n中依次分解出个位数字、十位数字、百位数字、千位数字
 * 并依次存放到变量c1、c2、c3、c4中
 * 如将n%10的值即个位数字存入c1中,例子:1234%10=4
 * 将n/10%10的值即十位数字存入c2中,例子:1234/10=123 123%10=3(因为1234和10是整型,故结果为整型)
 * 将n/100%10的值即百位数字存入c3中,例子:1234/100=12, 12%10=2
 * 将n/1000%10的值即千位数字存入c4中,例子:1234/1000=1, 1%10=1
 * 再将各数字值 +‘0’转为对应的数字字符
 */

namespace _2_6
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please input one integer 1000<n<999");//提示输入
            uint n = Convert.ToUInt32(Console.ReadLine()); //Console.ReadLine()输入的皆为字符/字符串,使用convert将输入内容转换为32位整型,uint是32位无符号整型 ,范围在0~4294967295
            Console.WriteLine("Before inversing the number is:{0}",n);
            char c1 = Convert.ToChar(n % 10 + '0');        // 分离个位数字 加'0'转换为数字字符
            char c2 = Convert.ToChar(n /10% 10 + '0');     // 分离十位数字
            char c3 = Convert.ToChar(n /100% 10 + '0');    // 分离百位数字
            char c4 = Convert.ToChar(n /1000% 10 + '0');   // 分离千位数字
            Console.WriteLine("After inversing the number is: {0}{1}{2}{3}",c1, c2, c3, c4);

            Console.Read();

 
        }
    }
}

例2-7求一元二次方程ax^2+bx+c=0的根,其中系数a、b、c为实数,由键盘输入。

设▲=b^2-4ac, 当▲=0时,方程有一个重根;当▲>0时。,方程有两个不同的实根;当三角形<0时,有两个共轭的复根。

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

// 解一元二次方程

namespace _2_7
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please input a, b, c = ");
            string inS = Console.ReadLine();
            string[] inSS = inS.Split(' ');
            double a = Convert.ToDouble(inSS[0]);
            double b = Convert.ToDouble(inSS[1]);
            double c = Convert.ToDouble(inSS[2]);
            double delta = b * b - 4 * a * c;
            double p = -b / (2 * a);
            double q = Math.Sqrt(Math.Abs(delta)) / (2 * a);//Abs 返回指定数字的绝对值
            if (delta >= 0)
            {
                Console.WriteLine("x1 = {0}", p + q);
                Console.WriteLine("x2 = {0}", p - q);
            }
            else 
            {
                Console.WriteLine("x1 = {0} + {1}i", p, q);//delta<0 求得共轭复数
                Console.WriteLine("x2 = {0} - {1}i", p, q);
 
            }

            Console.Read();
        }
    }
}

例2-8 温度转换:输入一个华氏温度值,计算并输出对应的摄氏温度值。

温度转化公式:C = 5*(F-32)/ 9

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

// 温度转换

namespace _2_8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个华氏温度: ");
            double f = Convert.ToDouble(Console.ReadLine());
            double c = 5.0d * (f - 32d) / 9.0d;
            Console.WriteLine("对应于华氏温度{0}的摄氏温度为{1}",f, c);

            Console.Read();
        }
    }
}

例2-9 大小写转换:输入一个字符,判断它是否为大写字母,如是,将其转换为对应的小写字母输出;否则,不用转换直接输出。

若一个字符是大写字符,可作如下运算转换为对应的小写字母的ASCII:小写 = 大写 – ’A‘ + ’a‘

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

// 大小写转换

namespace _2_9
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个字母: ");
            char ch = Convert.ToChar(Console.ReadLine());
            if (ch >= 'A' && ch <= 'Z')
                ch = (char)(ch - 'A' + 'a');
            Console.WriteLine("将大写转换为小写后,该字母为:{0}", ch);

            Console.Read();

        }
    }
}

例 2-10 判断一个四位的整数是否为回文数。

回文数:指由该数各位上数字反序构成的数与原数相同,对于4位整数,可以简单地判断两个条件即千位和个位、百位和十位是否相等,所以先分解出各位数字。

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


namespace _2_10
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个4位的整数:");
            int n = Convert.ToInt32(Console.ReadLine());

            int d1 = n / 1000;      // 千位数字
            int d2 = n / 100%10;   // 百位数字
            int d3 = n / 10%10;   // 十位数字
            int d4 = n % 10;     // 个位数字

            if (d1 == d4 && d2 == d3)
                Console.WriteLine("该数是回文数");
            else
                Console.WriteLine("该数不是回文数");

            Console.Read();

        }
    }
}

习题

1.编写一个程序,要求如下:

(1)提示用户输入任意三个小数。

(2)显示这三个小数。

(3)将这三个小数相加,并显示结果

(4)将结果按四舍五入方法转换成整数并显示。

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


namespace PRACTICE_1
{
    class Program
    {
        static void Main(string[] args)
        {
            /*
             * 1.编写一个程序,要求如下:

             (1)提示用户输入任意三个小数。

             (2)显示这三个小数。

             (3)将这三个小数相加,并显示结果

             (4)将结果按四舍五入方法转换成整数并显示。
             */

            Console.WriteLine("请输入任意三个小数:");//提示用户输入任意三个小数。
            string a = Console.ReadLine();//定义字符变量a用来存放输入
            string[] aSplit = a.Split(' ');// 定义字符数组aSplit[],将a中输入的字符用空格隔开并赋值给aSplit[]
            decimal b = Convert.ToDecimal(aSplit[0]);//定义小数b,将存放于aSplit[0]中的字符转换为小数然后赋值给b
            decimal c = Convert.ToDecimal(aSplit[1]);
            decimal d = Convert.ToDecimal(aSplit[2]);

            Console.WriteLine("这三个小数是:{0},{1},{2}", b, c, d);//显示这三个小数。

            decimal add = b + c + d;// 定义一个小数型的add来存放结果
            Console.WriteLine("相加后的结果是:{0}", add);//将这三个小数相加,并显示结果

            var RoundAdd = Math.Round(add);// Math.Round();数学函数用于将小数四舍五入
            Console.WriteLine("四舍五入后的结果为:{0}", RoundAdd);//将结果按四舍五入方法转换成整数并显示。


            Console.Read();
        }
    }
}


https://vimsky.com/examples/usage/c-sharp-math-round-method-set-1.html

其中关于将小数四舍五入的详细内容可以参考上述链接

2.为例2-5添加数据检验部分。给出三边长,检验其是否能构成一个三角形的方法是检查是否任意两边和均大于第三边。如果检验不合格,输出信息“Error Data!”

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

namespace PRACTICE_2
{
    class Program
    {
        static void Main(string[] args)
        {
            //2.为例2-5添加数据检验部分。
            //给出三边长,检验其是否能构成一个三角形的方法是
            //检查是否任意两边和均大于第三边。如果检验不合格,输出信息“Error Data!”

            Console.Write("Please input a, b, c ="); // 输出提示语
            String inS = Console.ReadLine(); // 定义inS,接收字符串
            String[] inSS = inS.Split('*'); // 将输入的字符用*隔开并存到数组inSS中
            double a = Convert.ToDouble(inSS[0]); // 将inSS中的第一个字符转换为双精度,赋值给a
            double b = Convert.ToDouble(inSS[1]); // 同理
            double c = Convert.ToDouble(inSS[2]); // 同理
            if (a + b > c && a + c > b && b + c > a)// 使用&&逻辑运算,表示只有当任意两边之和大于第三边时才能继续进行运算
            {
                var s = (a + b + c) / 2; // 隐式声明,由编译器自行推断右边类型
                var area = Math.Sqrt(s * (s - a) * (s - b) * (s - c));// Sqrt表示求括号内的平方根
                Console.WriteLine("area = {0}, s = {1}", area, s);//输出

            }
            else 
            {
                Console.WriteLine("Error Data!");
            }
            //var s = (a + b + c) / 2; // 隐式声明,由编译器自行推断右边类型
            //var area = Math.Sqrt(s * (s - a) * (s - b) * (s - c));// Sqrt表示求括号内的平方根
            //Console.WriteLine("area = {0}, s = {1}", area, s);//输出

            Console.Read();
        }
    }
}

3.输入两个角度值x,y,计算如下式子的值(三角函数的输入是弧度):

sin(|x|+|y|)/(cos(|x+y|))^1/2

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

namespace PRACTICE_3
{
    class Program
    {
        static void Main(string[] args)
        {
            //输入两个角度值x,y,计算如下式子的值(三角函数的输入是弧度):

            //    sin(|x|+|y|)/(cos(|x+y|))^1/2

            double pi=System.Math.PI;

            Console.WriteLine("请输入两个角度值:");
            string s = Console.ReadLine();
            string[] dSplit = s.Split(' ');
            double x = Convert.ToDouble(dSplit[0]);
            double y = Convert.ToDouble(dSplit[1]);


            double ax = Math.Abs(x);
            double ay = Math.Abs(y);
            double addone = ax + ay;//Abx + Aby;//求|x|+|y|
            Console.WriteLine("|x|={0}, |y|={1}, |x|+|y|={2}",ax, ay, addone);

            double numerator = Math.Sin(addone*pi/180);//计算分子
            Console.WriteLine("sin(|x|+|y|)={0}",numerator);//输出
            Console.WriteLine(                      );

            double addtwo = x + y;//将xy相加
            double axy = Math.Abs(x+y);//计算x+y的绝对值
            Console.WriteLine("|x+y|={0}", axy);//输出|x+y|

            double inside = Math.Cos(axy*pi/180);//计算cos的值
            double denominator = Math.Sqrt(inside);//分母开根
            double result = numerator / denominator;
            Console.WriteLine("cos(|x+y|)={0} \n(cos(|x+y|))^1/2={1} ", inside, denominator);
            Console.WriteLine(  );
            Console.WriteLine("sin(|x|+|y|)/(cos(|x+y|))^1/2={0}", result);

            Console.Read();


        }
    }
}

平方根下的数字应该是正数才能开根,是负数时Sqrt就会输出NaN

晚上跑了个步回来又想到了一个新的写法,加入了if…else语句,如果cos值为正,则开根,若为负则表示无法输出

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

namespace PRACTICE_3
{
    class Program
    {
        static void Main(string[] args)
        {
            //输入两个角度值x,y,计算如下式子的值(三角函数的输入是弧度):

            //    sin(|x|+|y|)/(cos(|x+y|))^1/2

            double pi=System.Math.PI;

            Console.WriteLine("请输入两个角度值:");
            string s = Console.ReadLine();
            string[] dSplit = s.Split(' ');
            double x = Convert.ToDouble(dSplit[0]);
            double y = Convert.ToDouble(dSplit[1]);


            double ax = Math.Abs(x);
            double ay = Math.Abs(y);
            double addone = ax + ay;//Abx + Aby;//求|x|+|y|
            Console.WriteLine("|x|={0}, |y|={1}, |x|+|y|={2}",ax, ay, addone);

            double numerator = Math.Sin(addone*pi/180);//计算分子
            Console.WriteLine("sin(|x|+|y|)={0}",numerator);//输出
            Console.WriteLine(                      );

            double addtwo = x + y;//将xy相加
            double axy = Math.Abs(x+y);//计算x+y的绝对值
            Console.WriteLine("|x+y|={0}", axy);//输出|x+y|

            double inside = Math.Cos(axy*pi/180);//计算cos的值
            if (inside > 0)
            {
                double denominator = Math.Sqrt(inside);//分母开根
                double result = numerator / denominator;
                Console.WriteLine("cos(|x+y|)={0} \n(cos(|x+y|))^1/2={1} ", inside, denominator);
                Console.WriteLine();
                Console.WriteLine("sin(|x|+|y|)/(cos(|x+y|))^1/2={0}", result);
            }
            else 
            {
                Console.WriteLine("cos(|x+y|)为负值,无法开根");
            }

            Console.Read();


        }
    }
}

4.从键盘输入任意3个整数,然后输出这三个数并计算平均值

这题我用了两种方式来写,一种是每输入一个字符都需要一次输入,另一种是使用sqrt分隔输入字符,将其存放在数组中,当所输入数字多时,相较而言第二种比较好用。

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

namespace PRACTICE_4
{
    class Program
    {
        static void Main(string[] args)
        {
            //从键盘输入任意3个整数,然后输出这三个数并计算平均值

            //The first method

            Console.WriteLine("Please input 3 integers:");//提示输入三个整数
            string i = Console.ReadLine();//读入并存入i
            int a = Convert.ToInt32(i);//将i中的字符转换为整型赋值给a
            i = Console.ReadLine();//读入并存入i
            int b = Convert.ToInt32(i);//将i中的字符转换为整型赋值给b
            i = Console.ReadLine();//读入并存入i
            int c = Convert.ToInt32(i);//将i中的字符转换为整型赋值给c

            Console.WriteLine("The 3 integers are :{0} {1} {2} and the average is ({0}+{1}+{2})/3={3}", a, b, c,(a+b+c)/3);

            Console.WriteLine(" ");

            //The second method

            Console.WriteLine("Please input 3 integers:");//提示输入
            string s = Console.ReadLine();//读入并存入s
            string[] ssSplit = s.Split(' '); //创建数组,将s中读入的字符以空格分开存入数组ssSplit
            int x = Convert.ToInt32(ssSplit[0]); //将数组中的第一个数转换为整型赋值给x
            int y = Convert.ToInt32(ssSplit[1]); //将数组中的第一个数转换为整型赋值给y
            int z = Convert.ToInt32(ssSplit[2]); //将数组中的第一个数转换为整型赋值给z

            Console.WriteLine("The 3 integers are:{0} {1} {2} and the average is ({0}+{1}+{2})/3={3}", x, y, z, (x + y + z) / 3);

            Console.Read();
        }
    }
}

5.编写一个程序,将字符串“Love”译成密码,译码方法采用替换加密法。其加密规则是,将原来的字母用字母表中其后面的第3个字母来替换,如字母c就用字符f来替换。

提示:分别用四个字符变量来存储’L”o”v’和’e’,利用ASCII表中字母的排列关系,按照译码方法对各个变量进行运算后输出即可。

这段代码是只能加密Love的,加密输入任意字母的还没想出来,而且Love一次只能输入一个字母,下一个字母需要换行输入,否则会报错。

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

namespace PRACTICE_5
{
    class Program
    {
        static void Main(string[] args)
        {
            //编写一个程序,将字符串“Love”译成密码,译码方法
            //采用替换加密法。其加密规则是,将原来的字母用字母
            //表中其后面的第3个字母来替换,如字母c就用字符f来替换。

            //在ASCII码中A对应十进制数为65,a对应十进制数为97,共有26个字母
            Console.WriteLine("Please input Love");
            string l = Console.ReadLine();
            char L = Convert.ToChar(l);
            string O = Console.ReadLine();
            char o = Convert.ToChar(O);
            string V = Console.ReadLine();
            char v = Convert.ToChar(V);
            string E = Console.ReadLine();
            char e = Convert.ToChar(E);
            L = (char)(L + 3);
            o = (char)(o + 3);
            v = (char)(v + 3);
            e = (char)(e + 3);
            Console.WriteLine("After letters:{0}{1}{2}{3}", L, o, v, e);

            Console.Read();
            

        }
    }
}

这次使用分隔符来一行输入Love,感觉和上一个没什么区别,emm。。。我再想想

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

namespace PRACTICE_5
{
    class Program
    {
        static void Main(string[] args)
        {
            //编写一个程序,将字符串“Love”译成密码,译码方法
            //采用替换加密法。其加密规则是,将原来的字母用字母
            //表中其后面的第3个字母来替换,如字母c就用字符f来替换。

            //在ASCII码中A对应十进制数为65,a对应十进制数为97,共有26个字母
            Console.WriteLine("Please input Love");
            string l = Console.ReadLine();
            string[] leSplit = l.Split(' ');

            char L = Convert.ToChar(leSplit[0]);
            char o = Convert.ToChar(leSplit[1]);
            char v = Convert.ToChar(leSplit[2]);
            char e = Convert.ToChar(leSplit[3]);
            L = (char)(L + 3);
            o = (char)(o + 3);
            v = (char)(v + 3);
            e = (char)(e + 3);
            Console.WriteLine("After letters:{0}{1}{2}{3}", L, o, v, e);

            Console.Read();
            

        }
    }
}

这是一段可以加密最多六个字母单词的程序,后面想要加密更多的话自己添加if语句就可以了,但是,还是有一点小问题,当单词字母少于六个时系统就会报错,表示数组溢出,应该是后面的数组用到的原因,但是,尽管这样,它还是会给你加密的,~~~///(^v^)\\\~~~

后面找到更好的方法的话再回来做修改

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

namespace PRACTICE_5
{
    class Program
    {
        static void Main(string[] args)
        {
            //编写一个程序,将字符串“Love”译成密码,译码方法
            //采用替换加密法。其加密规则是,将原来的字母用字母
            //表中其后面的第3个字母来替换,如字母c就用字符f来替换。

            //在ASCII码中A对应十进制数为65,a对应十进制数为97,共有26个字母

            //搜了一下资料 最长的单词由45个字母组成/(ㄒoㄒ)/~~,这里打算只写最多六个字母的加密

            Console.WriteLine("Please input letters:");//提示
            string l = Console.ReadLine();
            string[] leSplit = l.Split(' ');
            var ln=l.Length;//计算l有几个字符
            

            Console.WriteLine("Please input n");//输入需要加密的位数
            int n = Convert.ToInt32(Console.ReadLine());//将输入的值转换为字符型后赋给n

            Console.WriteLine("The letters have {0}", ln);//这个计算是将空格也计算在内的

            char a = Convert.ToChar(leSplit[0]);//加密第一个字母
            if (ln <=1)
            {
                
                a = (char)(a + n);
                Console.WriteLine("After letters:{0}", a);
 
            }

            char b = Convert.ToChar(leSplit[1]);//加密第二个字母
            if (ln>1&&ln <= 3)
            {

                a = (char)(a + n);
                b = (char)(b + n);
                Console.WriteLine("After letters:{0}{1}", a, b);

            }

            char c = Convert.ToChar(leSplit[2]);//加密第三个字母
            if (ln>3&&ln <= 5)
            {

                a = (char)(a + n);
                b = (char)(b + n);
                c = (char)(c + n);
                Console.WriteLine("After letters:{0}{1}{2}", a, b,c);

            }

            char d = Convert.ToChar(leSplit[3]);//加密第四个字母
            if (ln>5&&ln <= 7)
            {

                a = (char)(a + n);
                b = (char)(b + n);
                c = (char)(c + n);
                d = (char)(d + n);
                Console.WriteLine("After letters:{0}{1}{2}{3}", a, b, c,d);

            }

            char e = Convert.ToChar(leSplit[4]);//加密第五个字母
            if (ln>7&&ln <= 9)
            {

                a = (char)(a + n);
                b = (char)(b + n);
                c = (char)(c + n);
                d = (char)(d + n);
                e = (char)(e + n);
                Console.WriteLine("After letters:{0}{1}{2}{3}{4}", a, b, c, d, e);

            }

            char f = Convert.ToChar(leSplit[5]);//加密第六个字母
            if (ln>9&&ln <= 11)
            {

                a = (char)(a + n);
                b = (char)(b + n);
                c = (char)(c + n);
                d = (char)(d + n);
                e = (char)(e + n);
                f = (char)(f + n);
                Console.WriteLine("After letters:{0}{1}{2}{3}{4}{5}", a, b, c, d, e, f);

            }
           
            Console.Read();
            

        }
    }
}

6.输入一个总的秒数,将该秒数换算为相应的时、分、秒。如输入3600秒,则输出结果为1小时,输入3610秒,则结果为1小时10秒,通过除法和求余运算完成。

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

//输入一个总的秒数,将该秒数换算为相应的时、分、秒。如输入3600秒,
//则输出结果为1小时,输入3610秒,则结果为1小时10秒,通过除法和求余运算完成。

namespace PRACTICE_6
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please input the seconds ");//提示输入
            string s = Console.ReadLine();//读取输入存于s
            int i = Convert.ToInt32(s);//将字符型的s转换为整型并赋值于i
            int h = i / 3600;//将秒转换为小时
            int y = i % 3600;//求多余的秒
            Console.WriteLine("Result:{0} h {1} s", h, y);

            Console.Read();
        }
    }
}

7.编写程序,定义两个整数,用户通过键盘输入两个整数,程序计算它们的和、差、积、商并输出。

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

//编写程序,定义两个整数,用户通过键盘输入两个整数,程序计算它们的和、差、积、商并输出。

namespace PRACTICE_7
{
    class Program
    {
        static void Main(string[] args)
        {
            /*提示输入*/
            Console.WriteLine("请输入两个整数:");
            string n = Console.ReadLine();
            string[] nsSplit = n.Split(' ');
            /*定义a、b分别用来存储两个整数*/
            int a = Convert.ToInt32(nsSplit[0]);
            int b = Convert.ToInt32(nsSplit[1]);
            /*输出结果*/
            Console.WriteLine("和:{0},差:{1}, 积:{2}, 商:{3}", a+b, a-b, a*b, a/b);

            Console.Read();
        }
    }
}

ps:习题都是我自己写的代码,都是可以运行的,其中难免有不足的地方。因为刚开始学C#,很多题应该还有更好的写法,如果有更好的想法的话还希望大家不吝赐教,在这里先谢谢大家啦,也欢迎大家多多与我交流,共同进步。



版权声明:本文为yuanyuan0924原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。