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

来源:6-8 最终项目

qq_啵啵啵_03838269

2017-06-02 09:55

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回答

  • 一念征途
    2017-06-14 10:05:52

    你好,按你上面的代码运行的话 ,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://img.mukewang.com/5940982100011e0201970093.jpg

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

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

  • 慕用2947853
    2017-06-06 16:30:01

    错误情况贴一下

C#开发轻松入门

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

254118 学习 · 1459 问题

查看课程

相似问题