c#程序设计习题仅供参考(自己写的仅供参考)

1,编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。

1.Console.WriteLine("请输入一个正数");
2.double i=Convert.ToDouble(Console.ReadLine());//或者 double i=double.Parse(Console.ReadLine());
3.int e=(int)i;//将double类型强制转化为int类型
4.if(i-e>=0.5)  
5.{
6.    i=e+1;
7.}
8.else
9.{
10.   i=e;
11.}
12.Console.WriteLine(i);

解题思路:判断正数十分位上的数是否>=5,如果成立,则该正数加1,然后舍去小数位;不成立,则直接舍去小数位,然后输出;要注意的两个点:1.将输入的值接收为double类型 有两种方法:Convernt.ToDouble()或者double.Parse();2.强制类型转换 将double类型的值i强制转换为int型  只需在i前面添加(int);要注意:int类型占4个字节(32位)(1字节=8位  1byte=8bit),  double 类型占8个字节(64位),int值(低精度整数型)转化为double类型(高精度浮点型)不会丢失精度,但是double类型高精度转化为低精度是会丢失精度的。

还有一种思路,大同小异:得到这个正数的十分位,判断其是否大于等于5,(这种思路写的稍稍复杂了点,不够精炼,没错,这就是我自己想的)代码如下:

1.Console.WriteLine("请输入一个正数");
2.double i=Convert.ToDouble(Console.ReadLine());
3.int j=(int)(i*10%10);//注意:这里强制
4.if(j>=5)
5.{
6.    i=(int)i+1;
7.}
8.else
9.{
10.    i=(int)i;
11.}
12.Console.WriteLine(i);

 

2,编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。

 

1.double i=0,sum=0;
2.while(i<100)
3.{
4.    if(i==0)
5.    {
6.        sum=1;
7.    }
8.    else
9.    {
10.        sum+=i/(i+1);
11.    }
12.    i++;
13.}       
14.Console.WriteLine(sum);

上面的代码是我自己写的,其实可以更精简一点。代码如下:<

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值