首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 怎么计算百分比

2013-07-04 
c# 如何计算百分比如题,我有一些数字,如2800*3200,500*600.......我想算出来他们的百分比,2800*3200就是7:

c# 如何计算百分比
如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

这不是小学数学题吗。
[解决办法]
GOOGLE : C# 最大公约数
[解决办法]

引用:
Quote: 引用:

如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

分子和分母除掉最大公约数,再显示出来
[解决办法]
最大公约都有了,你的百分比不就差一步了么,

计算一下就行了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

但是我不要最大公约数,我只要除以最大公约数后的值

知道最大公约数了,再除一下又不会怀孕。
[解决办法]
两个数的百分比和最大公约数是两码事
学校应该教过你用辗转相除法将十进制转二进制吧,它也可以用来求最大公约数
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

但是我不要最大公约数,我只要除以最大公约数后的值

知道最大公约数了,再除一下又不会怀孕。

赞一个,这么简单的问题都想不明白。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:


如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

但是我不要最大公约数,我只要除以最大公约数后的值

知道最大公约数了,再除一下又不会怀孕。

c# 怎么计算百分比
[解决办法]

static void Main(string[] args)
        {
            int m = 2800, n = 3200;
            int r = 1;//余数
            if (m < n)
            {
              Console.WriteLine(GetGCM(n, m,out r));
            }
            else
            {
                Console.WriteLine(GetGCM(m, n, out r));
              
            }
            Console.ReadLine();
        }

        /// <summary>
        /// 求a,b最大公约数
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="r"></param>
        /// <returns></returns>
        static int GetGCM(int a, int b,out int r)
        {
            r = a % b;
            if (r == 0)
            {
                return b;


            }
            else
            {
                a = b;
                b = r;
                return GetGCM(a, b, out r);
            }
        }

        /// <summary>
        /// 求a,b最大公约数
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="r"></param>
        /// <returns></returns>
        static int GetGCM1(int a, int b, out int r)
        {
            r = a % b;
            if (r == 0)
            {
                return b;
            }
            else
            {
                while (r != 0)
                {
                    a = b;
                    b = r;
                    r = a % b;
                }
                return b;


            }
        }


[解决办法]
 private void button1_Click(object sender, EventArgs e)
        {
            int first = Convert.ToInt32(this.textBox1.Text);
            int second = Convert.ToInt32(this.textBox2.Text);
            int result = MaxY(first, second);
            MessageBox.Show("最大公约数是:"+result + "_" + first / result + ":" + second / result);
        }

        static int MaxY(int firstNumber, int secondNumber)   //求最大公约数的函数
        {
            int max = Max(firstNumber, secondNumber);
            int min = Min(firstNumber, secondNumber);
            int r = max % min;
            if (r == 0)                                                          //如果把最大的除以最小的数,余数r为0的话,表示min就是最大公约数
            {
                Console.WriteLine("最大公约数是{0}", min);
                return min;
            }
            else                                                //如果余数r不等于0,就把先前的min值当成最大值来用,把余数r当成先前的最小值来用
            {                                                     //一直不断的相除,直到余数r==0为止,这样就求出最大公约数


                while (r != 0)
                {
                    max = min;
                    min = r;
                    r = max % min;
                }
                return min;
            }
        }
        static int Max(int firstNumber, int secondNumber)       //求两个数的最大值
        {
            if (firstNumber > secondNumber)
            {
                return firstNumber;
            }
            return secondNumber;
        }
        static int Min(int firstNumber, int secondNumber)      //求两个数的最小值
        {
            if (firstNumber > secondNumber)
            {
                return secondNumber;
            }
            return firstNumber;
        }

热点排行