
求解C语言编程题。
1.编写函数求方差。主函数第一行输入n,代表要输入几个数,为整型。第二行输入x1,x2......共有n个,均为double型。编写一个函数,求这任意n个数的方差。在主函...
1.编写函数求方差。
主函数第一行输入n,代表要输入几个数,为整型 。第二行输入x1,x2......共有n个,均为double型。
编写一个函数,求这任意n个数的方差。在主函数的最后输出结果。但是,不能用数组。。。
2.高低交换
编写内联函数inline int xchg(unsigned char n),计算将unsigned char型n的低四位和高四位交换后的结果,在主函数中输入数据调用函数输出结果。输入输出均为整型。
例:
输入194
输出44
ps:小弟c语言初学者,这两道题都是函数范畴的题,求各位大神解答,最好有代码,小弟先谢过了。 展开
主函数第一行输入n,代表要输入几个数,为整型 。第二行输入x1,x2......共有n个,均为double型。
编写一个函数,求这任意n个数的方差。在主函数的最后输出结果。但是,不能用数组。。。
2.高低交换
编写内联函数inline int xchg(unsigned char n),计算将unsigned char型n的低四位和高四位交换后的结果,在主函数中输入数据调用函数输出结果。输入输出均为整型。
例:
输入194
输出44
ps:小弟c语言初学者,这两道题都是函数范畴的题,求各位大神解答,最好有代码,小弟先谢过了。 展开
1个回答
展开全部
1.
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
double func(double *content,int n)
{
double ave=0,s=0;
int i;
for(i=0;i<n;i++)
ave+=*(content+i);
ave/=n;
for(i=0;i<n;i++)
s+=pow(ave-*(content+i),2);
s/=n;
return s;
}
int main()
{
int n,i;
double *con=NULL;
scanf("%d",&n);
con=(double *)malloc(n*sizeof(double));
for(i=0;i<n;i++)
scanf("%lf",con+i);
printf("输入的%d个数的方差为%lf\n",n,func(con,n));
free(con);
con=NULL;
}
2.
#include "stdio.h"
inline int xchg(unsigned char n)
{
int high,low,result;
high=n&0xF0;
low=n&0x0F;
result=low*16+high/16;
return result;
}
int main()
{
int input;
scanf("%d",&input);
printf("%d\n",xchg((unsigned char)input));
}
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
double func(double *content,int n)
{
double ave=0,s=0;
int i;
for(i=0;i<n;i++)
ave+=*(content+i);
ave/=n;
for(i=0;i<n;i++)
s+=pow(ave-*(content+i),2);
s/=n;
return s;
}
int main()
{
int n,i;
double *con=NULL;
scanf("%d",&n);
con=(double *)malloc(n*sizeof(double));
for(i=0;i<n;i++)
scanf("%lf",con+i);
printf("输入的%d个数的方差为%lf\n",n,func(con,n));
free(con);
con=NULL;
}
2.
#include "stdio.h"
inline int xchg(unsigned char n)
{
int high,low,result;
high=n&0xF0;
low=n&0x0F;
result=low*16+high/16;
return result;
}
int main()
{
int input;
scanf("%d",&input);
printf("%d\n",xchg((unsigned char)input));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询