代码:
#include <stdio.h>
//计算加权平均数
void CountPowerMean()
{
printf("计算加权平均数 by huidong \n\n数值数量:");
int num;
scanf("%d",&num);
printf("\n输入每个数,以回车结束\n");
// 存储每个数值
double nums[1024] = { 0 };
for(int i=0; i< num; i++)
{
scanf("%lf",&nums[i]);
}
printf("\n输入每个数的权,以回车结束\n");
// 存储权
double powers[1024] = { 0 };
for(int i=0; i< num; i++)
{
scanf("%lf",&powers[i]);
}
double son = 0;// 分子
double mom = 0;// 分母
// 保存算式
char chEquationSon[1024] = { 0 };
char chEquationMom[1024] = { 0 };
// 计算
for(int i=0; i< num; i++)
{
son += nums[i] * powers[i];
mom += powers[i];
if(i != 0)
{
sprintf(chEquationSon,"%s + %lf * %lf",chEquationSon,nums[i],powers[i]);
sprintf(chEquationMom,"%s + %lf",chEquationMom,powers[i]);
}
else
{
sprintf(chEquationSon,"%lf * %lf",nums[i],powers[i]);
sprintf(chEquationMom,"%lf",powers[i]);
}
}
// 存储结果
double result = son / mom;
printf("\n 解:\n %s / %s \n = %lf / %lf \n = %lf\n",chEquationSon,chEquationMom,son ,mom ,result); // 打印结果
getch();
}
int main()
{
while(true)
{
CountPowerMean();
system("cls");
}
return 0;
}
截图: