C#两个很简单的编程问题一球从100米高度*落下

问题描述:

C#两个很简单的编程问题一球从100米高度*落下
1.一球从100米高度*落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹的高度是多少?
2.输入10个整数,统计并输出其中正数、负数和零的个数.
用C#语言编程,

第一题

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

namespace IronBall
{
    public class IronBall
    {
        public double hight=0;
//h是高度,count是反弹次数
        public double getDistance(double h,int count)
        {
            double dis = h;
            this.hight = h;
            for (int i = 0; i < count-1; i++)
            {
                hight = hight / 2;
                dis += 2*hight;
            }
            return dis;
        }

    }
    class Program
    {
        static void Main(string[] args)
        {
            IronBall rb = new IronBall();
            Console.WriteLine("总距离"+rb.getDistance(100,10));
            Console.WriteLine("最后一次反弹高度" +rb.hight/2);
            Console.ReadLine();
        }
    }
}

第二题:

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

namespace ConsoleApplication3
{
    class Program
    {
        public class PointsStat
        {
            ArrayList points = new ArrayList();
            public void addPoint(double p)
            {
                points.Add(p);
            }
            public int plusZero()
            {
                int count = 0;
                foreach (double p in points)
                {
                    if (p > 0)
                        count++;
                }
                return count;
            }
            public int minusZero()
            {
                int count = 0;
                foreach (double p in points)
                {
                    if (p < 0)
                        count++;
                }
                return count;
            }
            public int zero()
            {
                int count = 0;
                foreach (double p in points)
                {
                    if (p==0)
                        count++;
                }
                return count;
            }
        }
        static void Main(string[] args)
        {
            PointsStat ps1 = new PointsStat();

            for (int i = 0; i < 10;i++ )
            {

                string s = Console.ReadLine();
                if (s != "")
                {
                    double d = double.Parse(s);
                    ps1.addPoint(d);

                }
                else
                    i--;
            }
            Console.WriteLine("\n正分:" + ps1.plusZero());
            Console.WriteLine("\n负分数:" + ps1.minusZero());
            Console.WriteLine("\n零分:" + ps1.zero());
            Console.ReadLine();
        }
    }
}