
正文
C语言计算中值函数 c语言计算公式的值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用C语言取中间值
把各个数放在数组中,然后进行排序(升序、降序均可),根据下标就可取得中间值。
int a[] = {2,5,7,8,12,16,78,88};
int n = sizeof(a)/sizeof(a[0]);
int mid = a[n/2]; // 这就是中间值
相关问答
Q1: C语言求中值,已知一图像数组unsigned char Image[m][n],其中m>2000,n>1500;编写函数计算Image数组中所有
/***********************************************************************
* 函数名称:
* FindMedianValue()
*
*函数参数:unsigned char *pTemplate -模版指针
* int templLen -模版数组长度
*返回值:
* 无
* 提示: !该函数对模版快速排序,会修改原模版的值,
*说明:本函数查找数组中值,联合quicksort 和 partition 函数
*对输入数组长为奇数最好
*长度为偶数时返回的是中间前一个的值
***********************************************************************/
unsigned char ImgEnhance::FindMedianValue(unsigned char *pTemplate,int templLen)
{
unsigned char MedianValue;
Quicksort(pTemplate,0,templLen-1,templLen);
MedianValue=pTemplate[(templLen-1)/2];
return MedianValue;
}
/***********************************************************************
* 函数名称:
* Quicksort()
*
*函数参数:unsigned char *pTemplate -模版指针
* int templLen -模版数组长度
* int low -数组区间底
* int high -数组区间顶
*返回值:
* 空
*
*说明:
***********************************************************************/
void ImgEnhance::Quicksort(unsigned char *pTemplate,int low,int high,int templLen)
{
int pivotpos;
if(lowhigh)
{
pivotpos=Partition(pTemplate,low,high); //对pTemplate[low..high]做划分
if(pivotpos==(templLen-1)/2)
return;
else if(pivotpos(templLen-1)/2)
Quicksort(pTemplate,low,pivotpos-1,templLen); //中值在左区间,对左区间递归排序
else
Quicksort(pTemplate,pivotpos+1,high,templLen); //中值在右区间,对右区间递归排序
}
}
/***********************************************************************
* 函数名称:
* Partition()
*
*函数参数:unsigned char *pTemplate -模版指针
* int i -数组区间底
* int j -数组区间顶
*返回值:
* 该区间的一个划分点,该点左边的值都比它小,右边的值都比它大
*
*说明:本函数查找区间划分点,且是将该区间的第一个值放在这个划分点上
***********************************************************************/
int ImgEnhance::Partition(unsigned char *pTemplate,int i,int j)
{
int pivot=pTemplate[i]; //用区间的第1个记录作为基准
while(ij) //从区间两端交替向中间扫描,直至i=j为止
{
while(ij pTemplate[j]=pivot) //pivot相当于在位置i上
j--; //从右向左扫描,查找第1个关键字小于pivot的记录pTemplate[j]
if(ij) //表示找到的pTemplate[j]的关键字pivot
pTemplate[i++]=pTemplate[j]; //相当于交换pTemplate[i]和pTemplate[j],交换后i指针加1
while(ij pTemplate[i]=pivot) //pivot相当于在位置j上
i++; //从左向右扫描,查找第1个关键字大于pivot的记录pTemplate[i]
if(ij) //表示找到了pTemplate[i],使pTemplate[i]pivot
pTemplate[j--]=pTemplate[i]; //相当于交换pTemplate[i]和pTemplate[j],交换后j指针减1
}//end while
pTemplate[i]=pivot; //基准记录已被最后定位
return i;
}
Q2: C语言 求中间值
以下给出求n个数的中间数的C语言代码:
#includestdio.h
void main()
{
int n,i,j,t;
int a[1000];
scanf("%d",n); //输入n。
for(i=0;in;i++)
scanf("%d",a[i]); //输入n个数。
for(i=0;in-1;i++)
for(j=i+1;jn;j++)
if (a[i]a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
} //冒泡排序数列。
if (n%2!=0) printf("%d\n",a[n/2]);
else printf("%0.1f\n",((double)(a[n/2]+a[n/2-1])/2)); //求中间数。
}
Q3: C语言算法 求a、b、c三个数的中间数值
a、b、c三个数C语言计算中值函数的中间数值C语言计算中值函数的源代码如下C语言计算中值函数:
#includestdio.h
int main(
{
int a,b,c,t,max,min;
scanf("%d%d%d",a,b,c);
t=a+b+c;
max=ab?a:b
max=maxc?max:c;
min=ab?a:b;
min=minc?min:c
printf("middle=%d",t-max-min);
return 0;
}
扩展资料
1既不是质数也不是合数的源代码如下C语言计算中值函数:
#include
int main()
{
int n, i, flag=0;
printf("Enter a positive integer: ");
scanf("%d",n);
for(i=2;i=n/2;++i)
{
if(n%i==0)
{
flag=1;
break;
}
}
if (flag==0)
printf("%d is a prime number.",n)
else
printf("%d is not a prime number.",n);
return 0;
}
Q4: C语言怎么做矩阵做中值运算
#include stdio.h
#define M 4 //行
#define N 5 //列
main()
{
int i,j,k=0,a[M][N],b[N],max=0,sum; //sum=求和值 max=最大值 b[]=缓冲值 k=行中所有数C语言计算中值函数的和最大C语言计算中值函数的那一行值
/************输入*************/
for(i = 0;i M;i++)
{
for(j = 0;j N;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",a[i][j]);
}
}
/************第一行C语言计算中值函数的和*************/
for(i = 0;i N;i++)
max=max+a[0][i];
/************查找和最大的行*************/
for(i = 1;i M;i++)
{
sum=0;
for(j = 0;j N;j++)
sum=sum+a[i][j];
if(maxsum)
{
max=sum;
k=i;
}
}
/************与第一行交换*************/
if(k!=0)
{
for(i = 0;i N;i++)
{
b[i]=a[0][i];
a[0][i]=a[k][i];
a[k][i]=b[i];
}
}
/************输出*************/
printf("\n");
for(i = 0;i M;i++)
{
for(j = 0;j N;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
关于C语言计算中值函数和c语言计算公式的值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






