using System;
using System.Collections.Generic;
using System.Text;
namespace projAboveAvg
{
class Program
{
static void Main(string[] args)
{
string[] s = new string[8];
int[] avg = new int[8];
int sum = 0;
for (int i = 0; i < 8; ++i)
{
s[i] = Console.ReadLine();
avg[i] = int.Parse(Console.ReadLine());
sum += avg[i];
}
sum /= 8;
Console.WriteLine("平均分是{0},高于平均分的有:",sum);
for (int i = 0; i < 8; ++i)
{
if (sum < avg[i])
Console.Write("{0} ", s[i]);
}
}
}
}
为什么会出错 错在那啊???????????
你好,按你上面的代码运行的话 ,for循环,只运行了7次,就退出了,感觉你应该想要循环8次,8次和7次的代码的不同 就在于for (int i = 0; i < 8; ++i) 和for (int i = 0; i < 8; i++),重点是++i 和i++ ;2个的区别是一个先加,一个是后加,你可以运行下下面的代码,就可以发现二者的区别;
int a; int b; int c; a = 1; b = ++a; Console.WriteLine("a=" + a + " b=" + b); a = 1; c = a++; Console.WriteLine("a=" + a + " c=" + c);
结果为
同时给你提几点建议,第一点,命名要有意义,比如 要输入名字和年龄,那就可以命名为name和age,不行的话 用汉语拼音也可以,这样代码容易理解也不容易混乱。乱命名的话,也许写个20行不混乱,那写个2000行估计就乱了,还有就是过了一个月,再看这个代码,也看不懂了。第二点;sum /= 8; 对于一个变量名要有始有终,不要上面是这个意思,下面变成了另一个意思。还有就是,让提示输入时,最好在屏幕上提示下客户要输入什么数据,比如请输入名字:请输入年龄:,否则客户不知道是否要输入,该输入什么。
如果还有不懂得地方,可以继续回复我。如果觉得回答还不错的话,麻烦采纳一下哈!
错误情况贴一下