c# 如何计算百分比

_小黑_ 2013-07-01 09:27:49
如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答
...全文
1022 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐熊 2015-07-25
  • 打赏
  • 举报
回复
?(double)75 / (double)89 * 100.0; 84.269662921348313
liucaiyi 2013-07-02
  • 打赏
  • 举报
回复
分子和分母除掉最大公约数
sdcpzzg 2013-07-02
  • 打赏
  • 举报
回复
引用 8 楼 Jelly1989 的回复:
[quote=引用 4 楼 l397870376 的回复:] [quote=引用 2 楼 l397870376 的回复:] [quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 但是我不要最大公约数,我只要除以最大公约数后的值[/quote] 知道最大公约数了,再除一下又不会怀孕。[/quote]
_小黑_ 2013-07-01
  • 打赏
  • 举报
回复
_小黑_ 2013-07-01
  • 打赏
  • 举报
回复
Trust-Me 2013-07-01
  • 打赏
  • 举报
回复
 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;
        }
白日大仙 2013-07-01
  • 打赏
  • 举报
回复
号贴 啊好帖
CqCoder 2013-07-01
  • 打赏
  • 举报
回复

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;
            }
        }
kier 2013-07-01
  • 打赏
  • 举报
回复
楼主这叫比例化简,不叫百分比吧…… 用辗转相除法,计算最大公约数,然后各自一除就完了,话说,其实小数的比例计算才是……
Regan-lin 2013-07-01
  • 打赏
  • 举报
回复
引用 4 楼 l397870376 的回复:
[quote=引用 2 楼 l397870376 的回复:] [quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 但是我不要最大公约数,我只要除以最大公约数后的值[/quote] 这个我看了我想问为什么你最后不再除下就行了?
CqCoder 2013-07-01
  • 打赏
  • 举报
回复
C#求 a,b最大公约数 g a%b=r 如果r=0,g=r; 否则 (递归) a=b,b=r a%b=r 知道 r=0为止,g=b 比如: a b r 16 12 4 12 4 0 //最大公约数 g 为4
zengxin2008 2013-07-01
  • 打赏
  • 举报
回复
引用 8 楼 Jelly1989 的回复:
[quote=引用 4 楼 l397870376 的回复:] [quote=引用 2 楼 l397870376 的回复:] [quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 但是我不要最大公约数,我只要除以最大公约数后的值[/quote] 知道最大公约数了,再除一下又不会怀孕。[/quote]
茫茫大海 2013-07-01
  • 打赏
  • 举报
回复
引用 8 楼 Jelly1989 的回复:
[quote=引用 4 楼 l397870376 的回复:] [quote=引用 2 楼 l397870376 的回复:] [quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 但是我不要最大公约数,我只要除以最大公约数后的值[/quote] 知道最大公约数了,再除一下又不会怀孕。[/quote] 赞一个,这么简单的问题都想不明白。
  • 打赏
  • 举报
回复
两个数的百分比和最大公约数是两码事 学校应该教过你用辗转相除法将十进制转二进制吧,它也可以用来求最大公约数
  • 打赏
  • 举报
回复
引用 4 楼 l397870376 的回复:
[quote=引用 2 楼 l397870376 的回复:] [quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 但是我不要最大公约数,我只要除以最大公约数后的值[/quote] 知道最大公约数了,再除一下又不会怀孕。
IEEE_China 2013-07-01
  • 打赏
  • 举报
回复
最大公约都有了,你的百分比不就差一步了么, 计算一下就行了
EnForGrass 2013-07-01
  • 打赏
  • 举报
回复
引用 2 楼 l397870376 的回复:
[quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 分子和分母除掉最大公约数,再显示出来
  • 打赏
  • 举报
回复
GOOGLE : C# 最大公约数
_小黑_ 2013-07-01
  • 打赏
  • 举报
回复
引用 2 楼 l397870376 的回复:
[quote=引用 楼主 l397870376 的回复:] 如题,我有一些数字,如2800*3200,500*600....... 我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6 求解答
也就是最大公约数[/quote] 但是我不要最大公约数,我只要除以最大公约数后的值
_小黑_ 2013-07-01
  • 打赏
  • 举报
回复
引用 1 楼 Jelly1989 的回复:
这不是小学数学题吗。
幼儿园 的我都忘记了
加载更多回复(3)

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧