求修改~c#编for循环语句,求数学平均成绩!~~
问题:用·c#编一个程序,定义一个有5个元素的数组,使用for循环语句,从键盘上输入5名同学的数学成绩,分别求出最高分和最低分,并且求出5名同学的数学平均成绩。我的代码是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication13
{
class Program
{
static void Main(string[] args)
{
int [] nums;
nums=new int [5];//定义有5个元素的数组
int a;
int b;
int c;
int d;
int e;
Console.Write("第一位同学的成绩为:");//输入成绩
nums[0] = int.Parse(Console.ReadLine());//读取成绩
Console.Write("第二位同学的成绩为:");
nums[1] = int.Parse(Console.ReadLine());
Console.Write("第三位同学的成绩为:");
nums[2] = int.Parse(Console.ReadLine());
Console.Write("第四位同学的成绩为:");
nums[3] = int.Parse(Console.ReadLine());
Console.Write("第五位同学的成绩为:");
nums[4] = int.Parse(Console.ReadLine());
a = nums[0];
b = nums[1];
c = nums[2];
d = nums[3];
e = nums[4];
for (int i = 0; i < 5; i++)
{
Console.WriteLine("成绩最高分:{0}", e > (d > (c > (a > b ? a : b) ? c : (a > b ? a : b)) ?
d : (c > (a > b ? a : b) ? c : (a > b ? a : b))) ? e : (d > (c > (a > b ? a : b) ? c : (a > b ? a : b)) ? d : (c > (a
> b ? a : b) ? c : (a > b ? a : b))));//成绩最高分
Console.WriteLine("成绩最低分:{0}", e < (d < (c < (a < b ? a : b) ? c : (a < b ? a : b)) ?
d : (c < (a < b ? a : b) ? c : (a < b ? a : b))) ? e : (d < (c < (a < b ? a : b) ? c : (a < b ? a : b)) ? d : (c < (a
< b ? a : b) ? c : (a < b ? a : b))));//成绩最低分
int z = (a + b + c + d + e) / 5;
Console.WriteLine("5名同学的数学平均成绩为:{0}", z);//平均成绩
}
}
}
}
想问一下,这个有没有错。还可不可以简化呀~~? --------------------编程问答-------------------- int z = nums.Sum() / nums.Length;
Console.WriteLine("5名同学的数学平均成绩为:{0}", z);//平均成绩
--------------------编程问答--------------------
--------------------编程问答--------------------
double avg = nums.Average();
int max = nums.Max();
int min = nums.Min();
int[] nums;--------------------编程问答--------------------
nums = new int[5];//定义有5个元素的数组
Console.Write("第一位同学的成绩为:");//输入成绩
nums[0] = int.Parse(Console.ReadLine());//读取成绩
Console.Write("第二位同学的成绩为:");
nums[1] = int.Parse(Console.ReadLine());
Console.Write("第三位同学的成绩为:");
nums[2] = int.Parse(Console.ReadLine());
Console.Write("第四位同学的成绩为:");
nums[3] = int.Parse(Console.ReadLine());
Console.Write("第五位同学的成绩为:");
nums[4] = int.Parse(Console.ReadLine());
double avg = nums.Average();
int max = nums.Max();
int min = nums.Min();
Console.WriteLine("成绩最高分:{0}", max);
Console.WriteLine("成绩最低分:{0}", min);
Console.WriteLine("5名同学的数学平均成绩为:{0}",avg);//平均成绩
--------------------编程问答--------------------
static void Main(string[] args)
{
int[] a = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var x = GetMaxAvg(a);
Console.WriteLine("{0}, {1}, {2}", x.Item1, x.Item2, x.Item3);
Console.ReadKey();
}
public static Tuple<T, double, T> GetMaxAvg<T>(T[] array)
{
double average = array.Average(elem => Convert.ToInt32(elem));
return new Tuple<T, double, T>(array.Max(), average, array.Min());
}
没事可以看看Linq --------------------编程问答-------------------- 四楼的
这个赶脚比较高端。红色部分的代码不太懂呀~~ --------------------编程问答--------------------
三楼滴前辈。很简洁呢。不过能不能加个for循环给我看看。虽然感觉这题可以不用for循环,不过题目有要求呢!!哈哈,thanks~~ --------------------编程问答--------------------
Console.WriteLine("输入5位同学的成绩,并求其最大值、最小值和平均值");--------------------编程问答-------------------- 重发:
double[] nums = new double[5];
for (int i = 0; i <5; i++)
{
Console.Write("请您输入第{0}位同学的成绩为:", i + 1);
nums[i] = double.Parse(Console.ReadLine());
}
double avg = nums.Average();
double max = nums.Max();
double min = nums.Min();
double min1 = Min(nums);
Console.WriteLine("成绩最低分:{0}", min);
double max1 = Max(nums);
Console.WriteLine("成绩最高分:{0}", max);
double average1 = Average(nums);
Console.WriteLine("5名同学的数学平均成绩为:{0}", avg);
Console.ReadKey();
Console.WriteLine("输入5位同学的成绩,并求其最大值、最小值和平均值");--------------------编程问答-------------------- 我给你重新出了个题目,参见 http://bbs.csdn.net/topics/390667929
double[] nums = new double[5];
for (int i = 0; i <5; i++)
{
Console.Write("请您输入第{0}位同学的成绩为:", i + 1);
nums[i] = double.Parse(Console.ReadLine());
}
double avg = nums.Average();
double max = nums.Max();
double min = nums.Min();
Console.WriteLine("成绩最低分:{0}", min);
Console.WriteLine("成绩最高分:{0}", max);
Console.WriteLine("5名同学的数学平均成绩为:{0}", avg);
Console.ReadKey();
数据行不要假定什么5行,可能100行业可能1000行。我相信那样审题,你就不会去写上a、b、c等等1000个变量了。 --------------------编程问答-------------------- 这应该是老师布置的作业, --------------------编程问答-------------------- 不用你那么麻烦的。
int[] a = new[] { 97, 86, 92, 88, 87 };--------------------编程问答-------------------- 路过的过来看看我的帖子,help
int max = a.Max();//97
int min = a.Min();//86
double average = a.Average();//90
Console.WriteLine("最高成绩:{0},最低成绩:{1},平均成绩:{2}", max, min, average);
http://bbs.csdn.net/topics/390669195 --------------------编程问答-------------------- 额,就是老师布置的。偶是大一的,刚学c#。哈哈。谢谢各位的帮忙呀。
想问一下要怎么才能积分呀!我的分要完了,就问不了问题了!please 提供积分方法~thanks very much! --------------------编程问答-------------------- List<int> list = new List<int>();
for (int i = 0; i < 5; i++)
{
Console.WriteLine("请输入分数:");
list.Add(int.Parse(Console.ReadLine()));
}
int[] scores = list.ToArray();
Console.WriteLine("平均={0},最大={1},最小={2}.", cores.Average(), scores.Max(), scores.Min());
结贴给分会返回你积分的。 --------------------编程问答--------------------
我结不了帖。。。。。。。。那要怎么办~? --------------------编程问答--------------------
是当前用户的贴么?是不是你用别的马甲登录的? --------------------编程问答--------------------
就是我自己呀?怎么回事 --------------------编程问答-------------------- 你老师来了~~ --------------------编程问答--------------------
你老师来了~~
额,一大早的。别吓人啦~~ --------------------编程问答-------------------- 那就再问一题:
用c#编写一基于Windows From的程序,实现对C盘根目录文件夹的遍历,打印文件夹信息。
并新建一文件夹,在文件夹中创建一文本文件。
这个题目我还不太懂,求解析呀!~ --------------------编程问答-------------------- http://bbs.csdn.net/topics/390669195
这个帖子,我看不懂。。。。。。还没到能看懂的水平呀。 --------------------编程问答--------------------
那就再问一题:
用c#编写一基于Windows From的程序,实现对C盘根目录文件夹的遍历,打印文件夹信息。
并新建一文件夹,在文件夹中创建一文本文件。
这个题目我还不太懂,求解析呀!~
1、读取C#根目录下所有的目录及各目录下所有文件,并将所有文件夹打印出来
2,通过程序建立一个文件夹,同时在建好的文件夹中建立一个文件
--------------------编程问答-------------------- 主要掌握:
File------实用类,提供许多静态方法,用于建立、移动、删除、和复制文件。
Directory------实用类,提供许多静态方法,用于建立、移动、删除和复制目录。
FileInfo------表示磁盘上的物理文件,具有可以处理此文件的方法,要完成对文件的读写工作,就必须创建Stream对像。
DirectoryInfo------表示磁盘上的物理目录,具有可以处理此目录的方法
--------------------编程问答--------------------
--------------------编程问答-------------------- 学生成绩管理系统!!我做过哈哈 --------------------编程问答--------------------
static void Main(string[] args)
{
double min, max, avg;
CalcMaxMinAvg(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, out max, out min, out avg);
Console.WriteLine("MIN = {0}, MAX = {1}, AVG = {2}", min, max, avg);
Console.ReadKey();
}
public static void CalcMaxMinAvg(double[] scores, out double max, out double min, out double avg)
{
max = double.MinValue;
min = double.MaxValue;
double sum = 0D;
foreach (var score in scores)
{
if (max < score) max = score;
if (min > score) min = score;
sum += score;
}
avg = sum / scores.Length;
}
List<int> list = new List<int>();
for (int i = 0; i < 5; i++)
{
Console.WriteLine("请输入分数:");
list.Add(int.Parse(Console.ReadLine()));
}
int[] scores = list.ToArray();
Console.WriteLine("平均={0},最大={1},最小={2}.", cores.Average(), scores.Max(), scores.Min());
额,就是老师布置的。偶是大一的,刚学c#。哈哈。谢谢各位的帮忙呀。
想问一下要怎么才能积分呀!我的分要完了,就问不了问题了!please 提供积分方法~thanks very much!
结贴给分会返回你积分的。
别人都说了是大一的,
大一绝对不建议学linq.
事实上我都不建议大一就学c#,
应该学c++,玩转了c++
再上java c#都容易的多,也更好理解底层.
而且楼主老师也要求了
要用for循环的.
--------------------编程问答-------------------- 别人都说了是大一的,
大一绝对不建议学linq.
事实上我都不建议大一就学c#,
应该学c++,玩转了c++
再上java c#都容易的多,也更好理解底层.
而且楼主老师也要求了
要用for循环的.
学什么我们自己什么也不懂,学校安排的~那是java c#容易还是c++捏。我可以去自学 --------------------编程问答--------------------
别人都说了是大一的,
大一绝对不建议学linq.
事实上我都不建议大一就学c#,
应该学c++,玩转了c++
再上java c#都容易的多,也更好理解底层.
而且楼主老师也要求了
要用for循环的.
学什么我们自己什么也不懂,学校安排的~那是java c#容易还是c++捏。我可以去自学
这个还是看你们老师的安排,学校排课,自有他的道理,不是乱来的.
c++其实就是多了一些内存管理方面的东西,你现在学c#,那就好好学c#吧.
但要注意,算法要自己实现.
比如楼上提到的linq,还有SortDirection,array的一些求和,排序算法其实是c#里面封装好的一些方法,
这些你别管,都自己想办法实现. --------------------编程问答-------------------- 用excel 简单明了
--------------------编程问答--------------------
Console.Write("第一位同学的成绩为:");//输入成绩
nums[0] = int.Parse(Console.ReadLine());//读取成绩
你这个代码,分数只能是整数吧啊,不能为小数的吧,就像60.5这样的有小数的数字会出错吧 --------------------编程问答--------------------
Console.Write("第一位同学的成绩为:");//输入成绩
nums[0] = int.Parse(Console.ReadLine());//读取成绩
你这个代码,分数只能是整数吧啊,不能为小数的吧,就像60.5这样的有小数的数字会出错吧
用int不对么?int是整数呀。还是uint?正整数捏。还有byte,无符号字节型整数? --------------------编程问答--------------------
Console.Write("第一位同学的成绩为:");//输入成绩
nums[0] = int.Parse(Console.ReadLine());//读取成绩
你这个代码,分数只能是整数吧啊,不能为小数的吧,就像60.5这样的有小数的数字会出错吧
用int不对么?int是整数呀。还是uint?正整数捏。还有byte,无符号字节型整数?
我觉得应该用浮点数,成绩应该可能有小数吧,就像77.5,88.5之类的分数的吧 --------------------编程问答-------------------- 楼主明明说了使用for循环,你们这是在误人子弟 --------------------编程问答--------------------
Console.Write("第一位同学的成绩为:");//输入成绩
nums[0] = int.Parse(Console.ReadLine());//读取成绩
你这个代码,分数只能是整数吧啊,不能为小数的吧,就像60.5这样的有小数的数字会出错吧
用int不对么?int是整数呀。还是uint?正整数捏。还有byte,无符号字节型整数?
成绩可以是小数啊 --------------------编程问答-------------------- 学生咩!!!! --------------------编程问答--------------------
重发:
Console.WriteLine("输入5位同学的成绩,并求其最大值、最小值和平均值");
double[] nums = new double[5];
for (int i = 0; i <5; i++)
{
Console.Write("请您输入第{0}位同学的成绩为:", i + 1);
nums[i] = double.Parse(Console.ReadLine());
}
double avg = nums.Average();
double max = nums.Max();
double min = nums.Min();
Console.WriteLine("成绩最低分:{0}", min);
Console.WriteLine("成绩最高分:{0}", max);
Console.WriteLine("5名同学的数学平均成绩为:{0}", avg);
Console.ReadKey();
这个应该弄个double类型的集合,然后while循环(有可能不知道学生数量),按enter键跳出循环。 --------------------编程问答--------------------
那就再问一题:
用c#编写一基于Windows From的程序,实现对C盘根目录文件夹的遍历,打印文件夹信息。
并新建一文件夹,在文件夹中创建一文本文件。
这个题目我还不太懂,求解析呀!~
就是让把C盘下的所有文件夹显示出来;
然后在新建一个文件夹,在新建的文件夹里边在创建一个文件;
--------------------编程问答-------------------- 算法都写给你了。你只需要加几个 Console.WriteLine() / ReadLine() 而已。
这些都不是 key point。 --------------------编程问答-------------------- 同意楼上!!! --------------------编程问答-------------------- 数组中的最大值
int FindMaximumNumber(int array[],int size)
{
int max=array[0];
for(i=1;i<size;i++)
{
if(array[i]>max)
max = array[i];
}
return max;
} --------------------编程问答-------------------- 个人认为如果是VC的题,楼主方法绝对算是不错的,可是C#的话可以直接Average,Max,Min,但若真这么写这题也就没有意义了,如果自己实现个Average,Max,Min的扩展方法应该是最好的答案 --------------------编程问答--------------------
重发:
Console.WriteLine("输入5位同学的成绩,并求其最大值、最小值和平均值");
double[] nums = new double[5];
for (int i = 0; i <5; i++)
{
Console.Write("请您输入第{0}位同学的成绩为:", i + 1);
nums[i] = double.Parse(Console.ReadLine());
}
double avg = nums.Average();
double max = nums.Max();
double min = nums.Min();
Console.WriteLine("成绩最低分:{0}", min);
Console.WriteLine("成绩最高分:{0}", max);
Console.WriteLine("5名同学的数学平均成绩为:{0}", avg);
Console.ReadKey();
这个应该弄个double类型的集合,然后while循环(有可能不知道学生数量),按enter键跳出循环。
是题目要求,是学生作业,哈哈 --------------------编程问答-------------------- 你们这些屌丝 就看是一个女头像, 这么积极。。。 伸手党越来越多, CSDN 越来越**了
补充:.NET技术 , C#