C#输入数组,输出最大值,最小值

int[]a=newint[3];intmax=a[0];intmin=a[0];for(inti=0;i<a.Length;i++){Console.WriteLine... int[] a = new int[3]; int max = a[0]; int min = a[0]; for (int i = 0; i < a.Length; i++) { Console.WriteLine("请输入第{0}个数字", i+1); a[i] = Convert.ToInt32(Console.ReadLine()); } if (max > a[0]) { max = a[0]; } if (min < a[0]) { min = a[0]; }
Console.WriteLine("最大值为{0},最小值为{1}",max,min); Console.ReadKey();
输出最大值为0,请教高手原因啊,
展开
 我来答
百度网友3b8fcb8
2014-04-23 · TA获得超过2416个赞
知道大有可为答主
回答量:2978
采纳率:0%
帮助的人:3328万
展开全部

说下你这个流程吧:

首先: 

 int[] a = new int[3];//此时a[0]=0

int max = a[0];//max=0

int min = a[0];//min=0

 for (int i = 0; i < a.Length; i++)

 {

     Console.WriteLine("请输入第{0}个数字", i+1);

     a[i] = Convert.ToInt32(Console.ReadLine());

  }

//循环输入a={10,22,63} 即a[0]=10

if (max  > a[0])//max=0,a[0]=10 不成立

{

       max = a[0];

}

if (min < a[0])//min=0 a[0=10] 成立

{

    min = a[0];//min=10

}

Console.WriteLine("最大值为{0},最小值为{1}",max,min);

//输出结果:最大值为0,最小值为10

Console.ReadKey();


错得一塌糊涂

int[] a = new int[3];

Console.WriteLine("请输入第{0}个数字", 1);
a[0] = Convert.ToInt32(Console.ReadLine());
//先给a[0]赋值 使max和min的初值为a[0]而不是0 否则对于全负数或是三个数都大于0的情况下的比对会出错
int max = a[0];
int min = a[0];
for (int i = 1; i < a.Length; i++)
{
    Console.WriteLine("请输入第{0}个数字", i + 1);
    a[i] = Convert.ToInt32(Console.ReadLine());
    //循环内比对 保存max和min
    if (max < a[i])
    {
        max = a[i];
    }
    if (min > a[i])
    {
        min = a[i];
    }           
}
            
Console.WriteLine("最大值为{0},最小值为{1}", max, min);
Console.ReadKey();
追问
请问,我该怎麼修改呢,使之成立,谢谢
追答
代码部分 自己看下 调试的时候你可以断点单步看下程序是怎么走的 
如果是你是VIsual studio的话你可以按f11一步一步走
看看他是怎么运行的
百度网友04daf1f
2014-04-23 · 超过12用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:30.6万
展开全部
程序有问题,对max和min赋值应放在录入数据for循环之后,否则a[0]初值为0,即最大值为零,比较大小部分也有问题,需要修改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丶扬丿
2014-04-23 · 超过11用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:16.2万
展开全部
int[] a = new int[3];
int max = a[0];
int min = a[0];
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("请输入第{0}个数字", i+1);
a[i] = Convert.ToInt32(Console.ReadLine());
if (max < a[i])
{
max = a[i];
}
if (min > a[i])
{
min = a[i];
}
}
Console.WriteLine("最大值为{0},最小值为{1}",max,min);
Console.ReadKey();
追问

最小值还是为0

追答
int[] a = new int[3];
int max = int.MinValue;
int min = int.MaxValue;
for (int i = 0; i < a.Length; i++)
{
    Console.WriteLine("请输入第{0}个数字", i+1);
    a[i] = Convert.ToInt32(Console.ReadLine());
    if (max < a[i])
    {
        max = a[i];
    }
    if (min > a[i])
    {
        min = a[i];
    }
}
Console.WriteLine("最大值为{0},最小值为{1}",max,min);
Console.ReadKey();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式