日期:2014-05-17  浏览次数:21166 次

C#--第2周实验--任务三--编写一个控制台应用--输入x计算并输出分段函数F(x)的值
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:编写一个控制台应用--输入x计算并输出分段函数F(x)的值

* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月08 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述: 
* 问题描述:
* 程序输出:

* 程序头部的注释结束

*/

 

 

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

namespace ConsoleApplication_read_string
{
    class Program
    {
        static void Main(string[] args)
        {
            double d;//如果不加double 
            char c='a';//循环控制变量
            Console.Write("请输入一个数:");
            string s = Console.ReadLine();
            double x = double.Parse(s);
            while (!c.Equals('e'))   //当字符c等于e时结束循环  
            {
                if (x != 0)
                {
                    d = 1 / x;//如果加double
                }
                else
                {
                    d = 0;   //如果不加double ,提示当前上下文中不存在名称“d”;
                }
                //double d1 = double.Parse(d.ToString("1F"));
                //string d1 = Convert.ToDecimal("d").ToString("0.00"); 
                //string bb = d.ToString().Substring(0, d.ToString().LastIndexOf(". ") + 3);
                //string bb = d.ToString().Substring(0, d.ToString().LastIndexOf(". ") + 3 < d.() ? d.Length : d.ToString().LastIndexOf(". ") + 3);
                Console.WriteLine("\r\n不四舍五入,分段函数f(x)的值是:{0}", Math.Round(d, 1));
                //Console.WriteLine("\r\n四舍五入,分段函数f(x)的值是:{0}",d1);
                Console.Write("还想继续运算吗?按“e”结束运算,按其他键继续运算!");  
                c = Console.ReadKey().KeyChar;
                Console.WriteLine();
                if(c.Equals('e'))
                {
                    break;
                }
                else
                {
                    Console.Write("请输入一个数:");
                    s = Console.ReadLine();
                    x = double.Parse(s);
                }

            }
            Console.ReadKey(false);
        }
    }
}


运行结果:

 

经验积累:

1.把字符强制转换成double型以下两种方法都可以。

 x = Convert.ToDouble(s);
 x = double.Parse(s);