要求
结构体struct mpow两个成员的意义是: a为幂的底,t为幂的指数。
请编写函数fun,其功能是:计算出x所指数组中n个幕数之和并返回。
例如,当结构体数组用如此数据12,0,9,2,23,1,7,2
初始化时程序的输出结果应该是:sum=154.000000
代码
#include <stdio.h>
#pragma warning (disable:4996)
#define N 5
struct mpow
{
double a;
int t;
};
double fun(struct mpow *x,int n)
{
int i= 0;
int j= 0;
float sum = 0;
float m = 0;
for(i=0;i<n;i++)
{
m=1;
for(j=0;j<x[i].t;j++)
{
m*=x[i].a;
}
sum+=m;
}
return sum;
}
void main()
{
void NONO();
struct mpow x[N]={ 12,0,9,2,23,1,7,2 };
double sum;
sum=fun(x,4);
printf("sum=%lf\n",sum);
NONO();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *in, *out ;
struct mpow x[N];
int i,j ;
double sum;
in = fopen("in.dat","r") ;
out = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
for(j=0 ; j < 4; j++) fscanf(in, "%lf,%d,", &x[j].a,&x[j].t) ;
sum=fun(x,4);
fprintf(out, "sum=%lf\n",sum);
}
fclose(in) ;
fclose(out) ;
}