嗨,这是我的代码来找到中间数3,但当我给予a=3 b=2和c=1我得到错误的输出。我怎么能找到正确的中间数?有没有什么方法可以使用数组?谢谢你
#include<stdio.h>
int main()
{
int a,b,c;
int min,mid,max,i=1;
printf("Enter number: ");
scanf("%d",&a);
printf("\nEnter number: ");
scanf("%d",&b);
printf("\nEnter number: ");
scanf("%d",&c);
if(((a<b)&&(b<c)) || ((a>b)&&(a<c)))
{
min=a;
mid=b;
max=c;
}
if(((b<a)&&(a>c)) || ((a>b)&&(a<c)))
{
min=c;
mid=a;
max=b;
}
if(((c<a)&&(c>b)) || ((c>a)&&(c<b)))
{
min=b;
mid=c;
max=a;
}
printf("\nMid is %d",mid);
for(i=min;i<=max;i++)
{
if(i==mid)
continue;
printf("\n%d",i);
}
getchar();
getchar();
}
6条答案
按热度按时间brtdzjyr1#
为了让你的生活更轻松,写一个函数
min
。它接受两个整数并返回较小的那个。现在像这样使用这个函数:与Max相似
要得到中间值,只需进行以下计算:
e4yzc0pl2#
如果你有一个数组:
然后又道:
(nums[N/2] + nums[(N/2)-1])/2
nums[(N-1)/2]
如果数组没有排序,则检查Median of Medians
y53ybaqx3#
如果你能找到最大值和最小值,你可以找到中间值,如下所示:
midVal应该包含这三个数字的中间值。
odopli944#
使用数组排序非常简单:
ncecgwcz5#
vpfxa7rd6#
包括#<stdio.h>
int main()函数{
}