///<summary> ///1.编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积。 ///<summary> using System; namespace circleApplication{//命名空间 class circleArea{ //类 static void Main(string[] args){//Main函数 //Console.Write("hello"); const double PI = 3.14159265; double r,area; Console.Write("请输入一个圆的半径:"); r = double.Parse(Console.ReadLine()); //获取圆的半径 area = PI * r * r; //计算圆的面积 Console.WriteLine("圆的面积是:"+area); } } }
出现过的问题:
1.定义常亮时只写了const,忘记写数据类型。
2. r 声明为double类型,Console.ReadLine()接收到的是字符串类型,因此需要强制转换才能正确接收。
3.此代码不考虑用户恶意输入。
///<summary> ///2.编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们, ///然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。 ///<summary> using System; namespace numApplication{ class num{ static void Main(string[] args){ Console.WriteLine("请输入三个double类型的数字:"); double[] arr = new double[3]; for(int i=0; i<arr.Length; i++){ arr[i]=double.Parse(Console.ReadLine()); } Console.WriteLine("您输入的三个数字是:"); for(int i=0; i<arr.Length; i++){ Console.WriteLine("{0,10:f3}",arr[i]); } } } }注:
1.关于Console.Read()和Console.ReadLine()
二者都可以从键盘接收数据,但是前者只接收单个字符,后者接收字符串。Console.Read()接收到的数据默认为接收的字符的ASCII值,为int类型。
2.关于小数点对齐
{0,10:3f}中0表示arr[i]这个变量,10表示占的宽度(字符数),右对齐,左对齐可使用-10,3f表示保留小数点后三位。
小数点后保留的位数可以从控制台输入,使用一个变量接收即可。
///<summary> ///2.1.编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们, ///然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。 ///<summary> using System; namespace numApplication{ class num{ static void Main(string[] args){ Console.WriteLine("请输入三个double类型的数字:"); double[] arr = new double[3]; for(int i=0; i<arr.Length; i++){ arr[i]=double.Parse(Console.ReadLine()); } Console.WriteLine("请输入小数点后需要保留的位数:"); string y=Console.ReadLine(); string ff="{0,10:f"+y+"}"; Console.WriteLine("您输入的三个数字是:"); for(int i=0; i<arr.Length; i++){ Console.WriteLine(ff,arr[i]); } } } }注:这个程序中,可以由用户选择保留的小数位数