新手求解答

a609091648 2011-11-16 06:32:10
using System;
using System.Windows.Forms;
//虽然我有些写不出来,但我还是坚持写个大概,各位帮忙看下。
public class MyArray
{
private double[] array = new double[10];
public MyArray() //构造函数,输入值
{
for (int i = 0; i < 10; i++)
{
System.Console.WriteLine("请输入第"+(i+1)+"个雇员的销售额:");
array[i] = Double.Parse(System.Console.ReadLine());
}
}
public double GetTotal() //总和
{
double sum = 0;
for (int i = 0; i < 10; i++)
{
sum += array[i];
}
return sum;
}
public double GetAveragValue() //平均值
{
double sum = 0;
for (int i = 0; i < 10; i++)
{
sum += array[i];
}
return sum/10;
}
public double GetMaxValue() //最大
{
double max = array[0];
for (int i = 0; i <10; i++)
{
if (array[i] > max)
array[i] = max;
}
return max;
}
public double GetMinValue() //最小
{
double min = array[0];
for (int i = 0; i <10; i++)
{
if (array[i] < min)
array[i] = min;
}
return min;
}
public double Get(int i) //直接返回索引i
{
return array[i];
}
public double Getdown() //之下
{
double down = 0;
for (int i = 0; i < 10; i++)
{
array[i] =i;
if (GetAveragValue() > array[i])
down += array.Length;
}
return down;
}
public double Getup() //之上
{
double up = 0;
for (int i = 0; i < 10; i++)
{

if (GetAveragValue() > array[i])
up += array.Length;
}
return up;
}
public static void Main(string[] args)
{
MyArray app = new MyArray();
string output = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}", "总销售额是:", app.GetTotal() + "\n\r",
"平均销售额是:",app.GetAveragValue()+"\n\r","最大销售额是:",app.GetMaxValue()+"\n\r",
"最小销售额是:", app.GetMinValue() + "\n\r", "有",app.Getdown()+"个雇员的销售额在平均销售额之下"+"\r\n",
"有", app.Getup() + "个雇员的销售额在平均销售额之上");
Console.WriteLine(output);
}
}
//(2)编写程序,从命令窗口中输入10个雇员的销售额,
//MyArray类,求总销售额、平均销售额、最大销售额和最小销售额,
//有多少个雇员的销售额在平均销售额之上,有多少个雇员的销售额在平均销售额之下。
//并输出这些求出的值。
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanwei1987 2011-11-16
  • 打赏
  • 举报
回复
好乱啊
aixiaojun2012 2011-11-16
  • 打赏
  • 举报
回复
可以简化一下,求的总和之后,平均值直接调用总和的方法然后除以总人数。
在求最大值和最小值的时候,由于你已经将array[0]赋值给max了,那么在for
循环中i可以从1开始循环,减少程序在系统中的存储总量产生的垃圾,虽然GC可以帮你
解决,但是这样会提高程序性能。另外,在array[i] = max这里,应该是max = array[i]
这样,你才可以循环后将最大值赋值给max并返回。
在求有多少雇员在平均值下和上的时候,在直接循环后,就将array.length赋值给down或者
up,我没有明白你的意思。我认为是判断后就给计数器加1(先定义一个计数器)然后返回计数器
并且你的那个array[i] =i语句我觉得没有必要,也破坏了数组中的值。
最后,请问一下,那个get方法起什么作用?我也很愚钝......

110,524

社区成员

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

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

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