为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会出错 错在那啊???????????

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]);  

            }  

        }  

    }  

}  

为什么会出错   错在那啊???????????

正在回答

2 回答

你好,按你上面的代码运行的话 ,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);

结果为http://img1.sycdn.imooc.com//5940982100011e0201970093.jpg

同时给你提几点建议,第一点,命名要有意义,比如 要输入名字和年龄,那就可以命名为name和age,不行的话 用汉语拼音也可以,这样代码容易理解也不容易混乱。乱命名的话,也许写个20行不混乱,那写个2000行估计就乱了,还有就是过了一个月,再看这个代码,也看不懂了。第二点;sum /= 8;  对于一个变量名要有始有终,不要上面是这个意思,下面变成了另一个意思。还有就是,让提示输入时,最好在屏幕上提示下客户要输入什么数据,比如请输入名字:请输入年龄:,否则客户不知道是否要输入,该输入什么。

如果还有不懂得地方,可以继续回复我。如果觉得回答还不错的话,麻烦采纳一下哈!

1 回复 有任何疑惑可以回复我~

错误情况贴一下

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C#开发轻松入门
  • 参与学习       254282    人
  • 解答问题       1459    个

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

进入课程

为什么会出错 错在那啊???????????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信