| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2321 人关注过本帖
标题:求N个数最大值,老出错 SOS
只看楼主 加入收藏
tianhe
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2005-3-17
收藏
 问题点数:0 回复次数:26 
求N个数最大值,老出错 SOS
求任意个数字的最大值,可是从循环第二次之后每次要执行两次。why? 代码如下:
using System;
class compare
{
 static private int bigger=0;
static void Main()
 {
  Console.WriteLine("你想求几个数中的最大数?");
  int iRead1=int.Parse(Console.ReadLine());
  for(int i=1;i<=iRead1;i++)//循环输入n个数, 第一次把值赋给numbx1,第二次之后的数赋给numbx2.
  {
   int numbx1=0;
   int numbx2=0;
   Console.WriteLine("请闭上眼睛输入第"+i+"个数");
   numbx1=int.Parse(Console.ReadLine());
if(i>1)
   {
   
    numbx2=int.Parse(Console.ReadLine());
    }
       if(numbx1>=numbx2)
    {
     bigger=numbx1;
    }
    else
    {
     bigger=numbx2;
    }
}
  Console.WriteLine("The biggest is\0 "+bigger);
   
 }
}
搜索更多相关主题的帖子: SOS 最大值 
2005-03-28 18:01
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
你的程序每次循环都输入两个数,然后判断两个数中的哪个大。

你到底本来是想怎样?
2005-03-29 21:46
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
using System;
class compare
{
static private int bigger=0;
static void Main()
 {
  Console.WriteLine("你想求几个数中的最大数?");
  int iRead1=int.Parse(Console.ReadLine());
  if (iRead1<=0)
  throw new ArgumentException("error");
  Console.WriteLine("请闭上眼睛输入第"+i+"个数");
  int[] iRead2=int.Parse(Console.ReadLine());   
    for(int i=1;i<=iRead1;i++)
  //循环输入n个数, 第一次把值赋给numbx1,第二次之后的数赋给numbx2.
    {
   int numbx1=iRead2[1];
   int numbx2=iRead2[i];
   if(numbx1<=numbx2)
     {
     numbx1=numbx2;
      }
     }
   Console.WriteLine("The biggest is\0 "+numbx1);
   
 }
}

是不是想要这个啊
在单位记事本上修改的,没有调试,有错误请及时指出

2005-03-30 13:39
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
好像误解楼主的程序目的了

2005-03-30 16:30
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用tianhe在2005-3-28 18:01:31的发言: 求任意个数字的最大值,可是从循环第二次之后每次要执行两次。why? 代码如下: using System; class compare { static private int bigger=0; static void Main() { Console.WriteLine("你想求几个数中的最大数?"); int iRead1=int.Parse(Console.ReadLine()); for(int i=1;i<=iRead1;i++)//循环输入n个数, 第一次把值赋给numbx1,第二次之后的数赋给numbx2. { int numbx1=0; int numbx2=0; Console.WriteLine("请闭上眼睛输入第"+i+"个数"); numbx1=int.Parse(Console.ReadLine()); //因为你的赋值语句在for语句之内,所以每次循环会先赋给numbx1。 if(i>1) { numbx2=int.Parse(Console.ReadLine()); //第二次循环后又赋给numbx2一个值,结果是要输入2个数, //你的目的是,每次输入一个数,都出来一个结果吧,那么就把numbx1的赋值放到for //外面。 } if(numbx1>=numbx2) { bigger=numbx1; } else { bigger=numbx2; } //这里写的太罗嗦了,bigger是多余的,可以参照我上面写的 //bigger不是多余的,上面的我写的那个是错的,numbx1是局部变量,不能放在下面的句子中 } Console.WriteLine("The biggest is\0 "+bigger); } }
这下没问题了吧

[此贴子已经被作者于2005-4-3 23:57:14编辑过]


2005-03-30 16:43
tianhe
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2005-3-17
收藏
得分:0 
各位兄台,抱拳了。

-------------------------------------------- 朴素,清醒
2005-03-31 07:58
fokin
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2005-3-25
收藏
得分:0 
[QUOTE]哎~~~[/QUOTE]

我不是高手,我只是新手~!!
2005-04-01 16:19
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
幻风幻云朋友,我恳请你申请做版主,呵呵。。。
2005-04-01 22:59
leeteng
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2005-1-7
收藏
得分:0 
class Max{
public static void Main(){
int[] num ;
Console.Writeline("你想求几个数中的最大数?");
int  len = int.Parse(console.readline());
num = new int[len];
for(int i = o ; i &lt;len; i++) {
Console.WriteLine("请闭上眼睛输入第"+i+"个数");
 num[i] = int.parse(console,readline);
}
 FindMax(num ,0 ,len-1);
}
public int FindMax(int[] num ,int low,int upper){
if(low=upper) return num[low];
else{
max = Findmax(num,low+1,upper);
if(max&gt;=num[low])
return max;
else return num[low];
}
}
} 好象使得问题复杂了
2005-04-02 16:22
leeteng
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2005-1-7
收藏
得分:0 
键盘很难用 将就着看吧
   int[] iRead2=int.Parse(Console.ReadLine());
 幻风幻云兄:这个句子是什么意思?
2005-04-02 16:26
快速回复:求N个数最大值,老出错 SOS
数据加载中...
 
   



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

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