问一个数学问题:按数字大小排列百分比

henjiandan 2011-08-06 03:45:25
比如一个数组里有5个数字

1
100
1000000
10
5


如何得出他们各自占用的百分比?
...全文
108 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸭梨山大帝 2011-08-08
  • 打赏
  • 举报
回复


static void Main(string[] args)
{
List<int> t = new List<int>() { 1, 100, 1000000, 10, 5 };
var r = from o in t
select new
{
name = o
,
rate = string.Format("{0:P2}", (o * 1.0 / t.Sum(p => p)))
};
foreach (var o in r)
{
Console.WriteLine(o.ToString());
}
}
henjiandan 2011-08-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110808/16/ed6511ec-e8ee-4c1b-9b48-356230b13682.html

此处又开了一个新帖。
henjiandan 2011-08-08
  • 打赏
  • 举报
回复
此问题解决了,谢谢各位~ 继续问:


float[] f=new float[10%,20%,70%]

按照这三个百分比的概率 怎么得到它呢?
AK47 2011-08-07
  • 打赏
  • 举报
回复
学习一下。
liusahara 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lvzhihui 的回复:]
double[] Num = new double[5]{1,100,1000000,10,5};
int i = 0;
double sum=0;
for(i =0;i< Num.length;i++)
{
sum = sum+Num[i];
}
console.writeline("第一个数百分比为{0}“,Num[0]/sum);
......
console.read……
[/Quote]
支持,不过要用float类型
haiziguo 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 haiziguo 的回复:]
引用 4 楼 henjiandan 的回复:
引用 1 楼 ssp2009 的回复:
循环sum起来再做百分比处理啊。


给个例子呗~

先转化成float型 然后计算得出一个float小数 然后乘以100 转化成字符型+‘%’
[/Quote]

不知道有没有更好的办法
haiziguo 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 henjiandan 的回复:]
引用 1 楼 ssp2009 的回复:
循环sum起来再做百分比处理啊。


给个例子呗~
[/Quote]
先转化成float型 然后计算得出一个float小数 然后乘以100 转化成字符型+‘%’
lvzhihui 2011-08-07
  • 打赏
  • 举报
回复

double[] Num = new double[5]{1,100,1000000,10,5};
int i = 0;
double sum=0;
for(i =0;i< Num.length;i++)
{
sum = sum+Num[i];
}
console.writeline("第一个数百分比为{0}“,Num[0]/sum);
......
console.readkey();
henjiandan 2011-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]
循环sum起来再做百分比处理啊。
[/Quote]

给个例子呗~
csnd唐长老 2011-08-06
  • 打赏
  • 举报
回复
呵呵 还需要帮你写出代码
LMAOhuaNL 2011-08-06
  • 打赏
  • 举报
回复
顶楼上,循环它们的和
快溜 2011-08-06
  • 打赏
  • 举报
回复
循环sum起来再做百分比处理啊。

110,534

社区成员

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

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

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