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,请教高手原因啊, 展开
Console.WriteLine("最大值为{0},最小值为{1}",max,min); Console.ReadKey();
输出最大值为0,请教高手原因啊, 展开
3个回答
展开全部
说下你这个流程吧:
首先:
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一步一步走
看看他是怎么运行的
展开全部
程序有问题,对max和min赋值应放在录入数据for循环之后,否则a[0]初值为0,即最大值为零,比较大小部分也有问题,需要修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
追答
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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询