http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5179|回复: 6

[C#语言基础] 求助啊,各位大大

[复制链接]
发表于 2013-9-24 23:03:53 | 显示全部楼层 |阅读模式
自学了一个星期了,今晚起劲试了一下自己编,各位大大,为什么我求的最大值求不出来?每次输入最后一个数,最大值就是最后一个数的值!查了好久没查出原因,可能我的概念还不是很懂!求求助啊!


[code=csharp]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 返回值
{
    class Program
    {
        static void Main(string[] args)
        {
            int temp = 0;
            int Num = 0;
            try
            {
                Console.WriteLine("请你输入你要比较数值大小的数据个数!");
                Num = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("你输入的数据有误,请重新输入");
                Num = Convert.ToInt32(Console.ReadLine());

            }
            for (int i = 0; i < Num; i++)
            {
                try
                {
                    Console.WriteLine("请你输如第{0}个数值",i+1);
                    int number = Convert.ToInt32(Console.ReadLine());
                    int max = ZMAX(Num, number, temp);
                    if (i == Num-1)
                    {
                        Console.WriteLine("综上所述,最大值为{0}", max);
                        Console.ReadKey();
                        break;
                    }

                }
                catch
                {
                    Console.WriteLine("你输入的数据有误,请重新输入");
                    i--;
                    continue;
                }
            }

        }

        public static int ZMAX(int Num,int number,int temp)
        {

                if (number > temp)
                {
                    temp = number;
                }
            return temp;

        }
    }


}
[/code]



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-9-25 14:10:58 | 显示全部楼层
逻辑出错,你每次求得最大值没运用到去比较。把max定义成全局变量,然后这样写max = ZMAX(Num, number, max);
发表于 2013-9-25 14:15:26 | 显示全部楼层
temp默认是0 你每次输入的数据肯定是大致 0的,所以一直是最后一个数,看下面修改之后的是正确 的
[code=csharp]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 返回值
{
    class Program
    {
        static void Main(string[] args)
        {
            int temp = 0;
            int Num = 0;
            try
            {
                Console.WriteLine("请你输入你要比较数值大小的数据个数!");
                Num = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("你输入的数据有误,请重新输入");
                Num = Convert.ToInt32(Console.ReadLine());

            }
            for (int i = 0; i < Num; i++)
            {
                try
                {
                    Console.WriteLine("请你输如第{0}个数值",i+1);
                    int number = Convert.ToInt32(Console.ReadLine());
                    temp= ZMAX(number, temp);
                  }
                catch
                {
                    Console.WriteLine("你输入的数据有误,请重新输入");
                    i--;
                    continue;
                }
            }           Console.WriteLine("综上所述,最大值为{0}", temp);
        }

        public static int ZMAX(int number,int temp)
        {
                if (number > temp)
                {
                    temp = number;
                }
            return temp;

        }
    }
}[/code]

发表于 2013-9-25 14:11:37 | 显示全部楼层
逻辑出错,你每次求得最大值没运用到去比较。把max定义成全局变量,然后这样写max = ZMAX(Num, number, max);
 楼主| 发表于 2013-9-25 15:50:28 | 显示全部楼层
本帖最后由 weille52313 于 2013-9-25 15:51 编辑

瞬间明白了,原来逻辑错误!唉,献丑了,基础没扎实啊,亲!!这样的道理就好像是循环求和那样,明明要加上上一个sum的值才能算出结果,结果你一直给它初始化,所以就一直加加加,最后结果就是最后你加数!!还有,我还想问一个问题,在现实过程中,我这样定义一个类的方法,有必要吗?或者说我是不是最好先在我定义的类的方法上计算出来或者得到的结果再返回到main方法中,还是像我上面定义类的方法一样!我现在总感觉如果按照我上面定义的方法来做题,有点像自己挖了一个坑后,自己填上的感觉!@站长苏飞 @flychen
发表于 2013-9-25 16:47:50 | 显示全部楼层
功能比较小,谈不上归划,如果真要分的话,就安功能分一下,循环在Main里,计算单独出来,输入也可以单独写方法,不过以现在的情况只要是把计算部分提取出来就够
发表于 2013-10-12 16:54:10 | 显示全部楼层
[code=csharp]                string classid = Request.QueryString["id"];
                LoadBind(classid);
                if (Session["UserID"] != null)
                {
                    ShowUserFatie();
                }
                else
                {
                    CloseUserFatie();
                }[/code]
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 12:18

© 2014-2021

快速回复 返回顶部 返回列表