#include<stdio.h>
#include<math.h>
double fun(int n)
{
int i, j;
double sum = 0;
for (i = 1; i <= n; i++)
for (j = 1; j <= i; j++)
sum += sqrt(j);
return sum;
}
int main()
{
int n;
scanf_s("%d", &n);
printf("%lf",fun(n));
return 0;
}
一个实现,不知道注释有没有讲清楚意思,供参考:
#include <stdio.h>
#include <math.h>
double fun(int n){
int i,j;
double s=0; //n的样张结果
double s1; //每一项的值
for(i=1;i<=n;i++){ //遍历1到n项 ,即计算1到n的每个括号里的 次方和
for(j=1;j<=i;j++){ //计算每一个运算式,每一个括号里的0.5次方的和
s1=pow(j,0.5); //计算每一个运算式里单个次方,这里是从1到i的每一项的0.5次方
s+=s1; //累加每个0.5次方的和
}
}
return s; //返回结果
}
//测试
int main(void){
int n;
scanf("%d",&n);
printf("S=%lf",fun(n));
return 0;
}