一个超级简单问题 请教
我初学C#遇到一道题 就是输入三个数 取中间值用代码 怎么实现 --------------------编程问答-------------------- 动动脑筋就出来了啊,不行你头脑怎么想的,模拟一下就行了 --------------------编程问答-------------------- 什么叫中间的?
大小排行中间的?还是输入顺序中间的?
--------------------编程问答-------------------- System.Console.WriteLine("请输入3个数字");
int a,b,c
System.Console.WriteLine(a);
System.Console.WriteLine(b);
System.Console.WriteLine(c);
if (a>b && a<c)
System.Console.WriteLine(a);
else if (b>a && b<c)
System.Console.WriteLine(b);
else if(c>a && c<b)
System.Console.WriteLine(c);
我写的 但绝对是有问题,但不知道差在哪 --------------------编程问答-------------------- 取中间值
--------------------编程问答-------------------- 不知道你这个用户输入的三个值,是怎么分别赋到a,b,c三个变量里面去的 --------------------编程问答-------------------- 是啊我就是不知道用代码改如何实现 请帮帮忙 --------------------编程问答--------------------
你写的绝对有问题,
第一个if 匹配的是b<a<c
第二个if 匹配的是a<b<c
第三个if 匹配的是a<c<b
那么b<c<a , c<a<b , c<b<a放在那里处理
--------------------编程问答-------------------- winform:
--------------------编程问答-------------------- 可以先排序 在找中间那个数 对吧
int a= int.parse(textbox1.text);
int b= int.parse(textbox2.text);
int c= int.parse(textbox3.text);
if(a>b)
{a=a;}
else
{a=b}
if(a>c)
messagebox.show("最大值"+a.tostring());
else
messagebox.show("最大值"+c.tostring());
System.Console.WriteLine("请输入3个数字");
int a,b,c
System.Console.WriteLine(a);
System.Console.WriteLine(b);
System.Console.WriteLine(c);
if(a>b && a>c)
{
if (b>c)
{
console.WriteLine(a, b ,c);
else if (c>b)
{
console.WriteLine(a,c,b);
}
这是a 最大的时候 你再写b最大时 c 最大时 ;进行排序后在找中间的
}
} --------------------编程问答--------------------
--------------------编程问答-------------------- 把三个int型的数放到数组里,然后sort一下,输出中间的就ok了。。
int a,b,c ;
System.Console.WriteLine("Please input the first number!");
a=Int32.Parse(System.Console.ReadLine());
System.Console.WriteLine("Please input the second number!");
b=Int32.Parse(System.Console.ReadLine());
System.Console.WriteLine("Please input the third number!");
c=Int32.Parse(System.Console.ReadLine());
if (a>b && a <c)
System.Console.WriteLine(a);
else if (b>a && b <c)
System.Console.WriteLine(b);
else if(c>a && c <b)
System.Console.WriteLine(c);
不过楼主要输入的话不应该是System.Console.WriteLine
应该这样写:int a= int.parse(System.Console.ReadLine());
--------------------编程问答-------------------- public int GetMiddNum(int num1, int num2, int num3)
{
List<int> test = new List<int>();
test.Add(num1);
test.Add(num2);
test.Add(num3);
test.Sort();
return test[1];
} --------------------编程问答-------------------- 谢谢上面的朋友帮助 --------------------编程问答-------------------- 如果数据多其实用一些算法最简单 --------------------编程问答--------------------
public static void Main()
{
double[] a = new double[] { 1, 9.2, 6.1 };
Array.Sort<double>(a);
foreach (double var in a)
{
Console.WriteLine(var);
}
Console.ReadKey();
}
//输出
1
6.1
9.2
改知道怎么做了把
--------------------编程问答-------------------- class Program
{
static void Main(string[] args)
{
try
{
int[] invalue = new int[3];
System.Console.WriteLine("请输入第一个值");
invalue[0] = Convert.ToInt16(System.Console.ReadLine());
System.Console.WriteLine("请输入第二个值");
invalue[1] = Convert.ToInt16(System.Console.ReadLine());
System.Console.WriteLine("请输入第三个值");
invalue[2] = Convert.ToInt16(System.Console.ReadLine());
//a,b,c
InsertSort(invalue);
System.Console.WriteLine("中间值是:" + invalue[1]);
}
catch
{
System.Console.WriteLine("您的数据格式不正确!");
}
}
#region 插入排序
private static void InsertSort(int[] array, int i)
{
int tmp = array[i];
int j = i;
while (j > 0 && tmp < array[j - 1])
{
array[j] = array[j - 1];
j--;
}
array[j] = tmp;
}
public static void InsertSort(int[] array)
{
for (int i = 1; i < array.Length; i++)
InsertSort(array, i);
}
#endregion
} --------------------编程问答-------------------- public static void Main()
{
int a, b, c;
Console.WriteLine("please input 3 numbers:");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
ArrayList arr = new ArrayList();
arr.Add(a);
arr.Add(b);
arr.Add(c);
arr.Sort();
Console.WriteLine("the middle one is :" + arr[1].ToString());
Console.ReadLine();
} --------------------编程问答--------------------
很好,很仔细
补充:.NET技术 , C#