C语言入门题,来个大lao看看

img

#include <stdio.h>
#include <math.h>
int main()
{
int i,n;
double t,sum=0;
printf("请输入正整数n:");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
    t += sqrt(i);
    sum += t;    
}
    
printf("sum=%lf\n",sum); 
return 0;

}


#include <stdio.h>
#include <math.h>
int main()
{
   double sum=0;
   int n;
   printf("请输入正整数 n:");
   scanf("%d",&n);
   for(int i=1;i<=n;i++)
   {
       for(int j=1;j<=i;j++)
       {
            sum=sum+sqrt(j); 
        } 
   }
   printf("sum=%f",sum);
   return 0;
}

小唐来讲思路了!
就是我们先来观察,他每一项都相当于一个累计
第一项,我们要加1个数
第二项,我们要加2个数...
所以很明显,我们除了外面一个循环外,还需要一个内循环,而且他的数值是会变动的
所以我们选用双重for循环,还有一个就是,我一开始看题目的时候,有一个double的t和sum
一开始以为是要计算里面的t,然后再在外面那个for里面实现sum的相加
后来想了想,直接这样写就可以啦
这个是结果:

img

题目不难,建议自己思考