编程找中间数
1. VB编程求5个数的中位数问题
老师与你们闹着玩?
用If语句嵌套,把你们的头弄晕为止!
你还是老老实实,排序,然后输出中间的一个数字C!
比如,从小到大排!
首先,更正你的Dim语句是错误的理解?
Dim a As Double, b As Double, c As Double, d As Double, e As Double
Dim T As Double '我再加一个变量,交换用
a = Val(InputBox("请输入第一只小鸡的体重(以kg为单位)"))
b = Val(InputBox("请输入第二只小鸡的体重(以kg为单位)"))
c = Val(InputBox("请输入第三只小鸡的体重(以kg为单位)"))
d = Val(InputBox("请输入第四只小鸡的体重(以kg为单位)"))
e = Val(InputBox("请输入第五只小鸡的体重(以kg为单位)"))
'开始排序
If a > b Then
T = a:a = b:b = T '中间是冒号,不太看得清!!!
End If
If a > c Then
T = a:a = c:c = T '中间是冒号,不太看得清!!!
End If
If a > d Then
T = a:a = d:d = T '中间是冒号,不太看得清!!!
End If
If a > e Then
T = a:a = e:e = T '中间是冒号,不太看得清!!!
End If
'经过以上四个IF,a里是最小的了
If b > c Then
T = b:b = c:c = T '中间是冒号,不太看得清!!!
End If
If b > d Then
T = b:b = d:d = T '中间是冒号,不太看得清!!!
End If
If b > e Then
T = b:b = e:e = T '中间是冒号,不太看得清!!!
End If
'经过以上三个IF,b里是第2小的了
If c > d Then
T = c:c = d:d = T '中间是冒号,不太看得清!!!
End If
If c > e Then
T = c:c = e:e = T '中间是冒号,不太看得清!!!
End If
'经过以上两个IF,c里是第3小的了----也就是中间那个数了
Print c
2. C语言 计算总和\平均值\中间值\方差
这个题没有必要进行排序
#include<stdio.h>
void main()
{
int s[20],sum=0,i;
float b=0,ave=0;
for(i=0;i<20;i++)
{
scanf("%d",&s[i]);
}
for(i=0;i<20;i++)
sum+=s[i];
ave=(float)sum/20;
for(i=0;i<20;i++)
b+=((float)s[i]-ave)*((float)s[i]-ave);
printf("平均数%f,中间数%d,%d,方差%f",ave,s[9],s[10],b);
}