求助,C语言,求方差的编程问题!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助,C语言,求方差的编程问题!相关的知识,希望对你有一定的参考价值。
3、编程实现如下功能:在x数组中放入n个采样值,按如下公式计算并输出这组数据的方差值。
例如 n=8,输入:193.199、195.673、195.757、196.051、196.092、196.596、
196.579、196.763时,结果应为:1.135901。
int main ( void )
float *x, *p, E, D;
int i, n;
printf ( "n=" );
scanf ( "%d", &n );
p = x = (float*) malloc ( sizeof(float) * n );
E = D = 0.0;
for ( i = n; i > 0; i-- )
scanf ( "%f", p );
E += *p++;
E /= n;
p = x;
for ( i = n; i > 0; i-- )
float tmp;
tmp = *p++ - E;
D += tmp * tmp;
D /= n;
free ( x );
printf ( "%f", D );
return 0;
参考技术A #include<stdio.h>
#include<math.h>
main()
double x[100],X_ave;
double sum=0;
double X_f=0,X_fave;
int i,n;
printf("Enter number please:\n");
scanf("%d",&n);
printf("Input %d numbers please:\n",n);
for(i=0;i<n;i++)
scanf("%f",&x[i]);
for(i=0;i<n;i++)
sum+=x[i];
X_ave=sum/n;
for(i=0;i<n;i++)
X_f += pow((x[i]-X_ave),2);
X_fave=X_f/n;
printf("%lf\n",X_fave);
c语言查找二维数组的鞍点 新生求助大佬
对于给定的整数矩阵A[5,5],设计算法查找出所有的鞍点。
提示:鞍点的特点:列上最小,行上最大。
输入格式:
输入5行5列整数,同行数据间以空格为间隔。
输出格式:
在一行中以以下格式输出矩阵中的所有鞍点,每个鞍点的显示格式为:
[<鞍点的行坐标>,<鞍点的列坐标>,<鞍点的值>]
输入样例:
11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 8
15 10 11 20 25
结尾无空行
输出样例:
[3,0,8][3,4,8]
结尾无空行
C语言查找二维数组的鞍点详细代码如图:
具体思路:
一、先把每行的最大值求出来×到数组;
二、依次遍历每行,如果其值等于最大值,再判断在列中是否最小即可。
三、输出结果。
参考技术A#include <stdio.h>
int main()
int i,j,min,max,m=5,n=5,found=0;
int a[5][5],h[5],l[5];
for(i=0; i<m; i++)
for(j=0; j<n; j++)
scanf("%d",&a[i][j]);
for(i=0; i<m; i++)
h[i]=a[i][0];
for(j=1; j<n; j++)
if(a[i][j]>h[i])
h[i]=a[i][j];
//找出每行最大值
for(j=0; j<n; j++)
l[j]=a[0][j];
for(i=1; i<m; i++)
if(a[i][j]<l[j])
l[j]=a[i][j];
//找出每列最小值
for(i=0; i<m; i++)
for(j=0; j<n; j++)
if(l[j]==h[i])
printf("[%d,%d,%d]",i,j,a[i][j]);
found=1;
//进行比较,若行最小与列最大相等,则输出
if(!found)printf("没有鞍点");
本回答被提问者采纳 参考技术B 开两个数组,一个数组存每一行的最大值,一个数组存每一列的最小值。先扫两遍矩阵把这两个数组计算出来,然后再扫一遍检查矩阵中每个元素是否同时等于其所处列的最小值与所处行的最大值,如果是就是鞍点,这样就行了吧。以上是关于求助,C语言,求方差的编程问题!的主要内容,如果未能解决你的问题,请参考以下文章