| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 761 人关注过本帖
标题:for循环问题
只看楼主 加入收藏
白色的天
Rank: 2
等 级:论坛游民
帖 子:24
专家分:17
注 册:2013-11-9
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:8 
for循环问题
程序代码:
string str;//声明一个字符串来接收输入信息
            int cj, n = 0;//声明变量,cj表示成绩,n表示输入成绩个数
            int max = 0, min = 0, sum = 0;//分别表示最高分、最低分、总分
            float avg;//平均分
            for (n = 1; n <= 5;   n++)//预设最多输入5个成绩个数
            {
                Console.WriteLine("请输入课程分数:       " );
                str = Console.ReadLine();//接受输入成绩
                if (str.Trim() == null) continue;//若输入的是空字符串将进入下一次循环
                cj = int.Parse(str);//转换成整数,若str为空或非数值字符将出错
                if(cj<0||cj>100)//输入负数或大于100时结束输入
                
                    break;
                
              
                if (n == 1)//输入第一个成绩时max、min就等于该成绩
                
                    max = min = cj;
                
                else
                {
                    if (cj > max)
                    { max = cj; }//若cj比最高分还高时,该cj就是最高分
                   else if (cj < min)//若cj比最低分还低时,它就是最低分
                    { min = cj; }
                
                }
                sum += cj;//成绩累加到总分中
            }
            avg = n > 0 ? (float)sum / n : 0;//若至少有一个有效成绩就计算平均分,否则平均分为0
            Console.WriteLine("共输入了{0}个成绩",n);
            if(n>0)
            {
                Console.WriteLine("最高分为{0}",max);
                Console.WriteLine("最低分为{0}",min);
                Console.WriteLine("平均分为{0}",avg);
            
            }
            Console.ReadLine();

但是出现了这样的一个问题:看图片就是知
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: color 
2014-02-28 12:46
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
你明输入5个数据  但是按6个计算平均数
你不觉得代码有问题?
  你既然有设计最大值最小值什么的
那你的测试数据就应该不一样才行啊!

DO IT YOURSELF !
2014-02-28 13:09
做好每一天
Rank: 2
等 级:论坛游民
威 望:3
帖 子:25
专家分:37
注 册:2014-2-19
收藏
得分:5 
表示不是高手,帮忙顶一下。。。。。。
2014-02-28 14:48
a34546
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2014-2-28
收藏
得分:5 
新手报到,正在学C#,感觉好复杂,应该有简单的方法吧,输入5次,算平均分却除以6,肯定有问题
2014-02-28 18:13
白色的天
Rank: 2
等 级:论坛游民
帖 子:24
专家分:17
注 册:2013-11-9
收藏
得分:0 
回复 楼主 白色的天
我就是这个问题,但是我尝试了小半天,我改了,学习的不好,请教啊
2014-02-28 21:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
這程序要實現什麽目的?

授人以渔,不授人以鱼。
2014-03-01 22:21
白色的天
Rank: 2
等 级:论坛游民
帖 子:24
专家分:17
注 册:2013-11-9
收藏
得分:0 
回复 6楼 TonyDeng
只是计算一下输入的成绩
2014-03-03 21:08
__Frank
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-3-23
收藏
得分:0 
一开始是int n=0,但是for循环里是i=1开始。试试改成for(i=0;i<5;i++)
2014-03-23 14:14
步向巅峰
Rank: 5Rank: 5
来 自:河南
等 级:贵宾
威 望:17
帖 子:110
专家分:371
注 册:2013-4-26
收藏
得分:0 
关于for循环的语句执行顺序你没搞明白,n++是在for循环结束的时候执行,也就是说,当你程序中的n=5时,判断n<=5为true,执行循环,循环结束执行n++,此时n=6,
2014-03-24 13:21
快速回复:for循环问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024965 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved