C语言的题,(1+2+3+……+100)+(1+2^2+3^2+……+50^2)+(1+1⼀2+1⼀3+……+1⼀10)

2025-02-27 15:12:07
推荐回答(5个)
回答1:

# include 
# include 
int main ()
{
double sum;
int sum1 = 0;
double sum2 = 0;
double sum3 = 0;
int i;
int j = 1;
int t = 1;
double j2;

for (i=1;i<=100;i++)
{
sum1 = sum1 + i;

}
     while (j<=50)
{
j2 = pow(i,2);
sum2 = sum2 + j2;
         j++;
}
     while (t<=10)
{
sum3 = sum3 + (1.0/t);
t++;
}

     sum = sum1 + sum2 + sum3;
printf("%e\n",sum);

return 0;
}

回答2:

# include 
# include 
int main ()
{
        double sum;

        int sum1=0;
        int i;  
   for (i=1;i<=100;i++)
{
    sum1 = sum1 + i;  
}

        double sum2=0;
        int j=1;
        double j2;
        while (j<=50)
{
    j2 = pow(j,2);//这里有误
    sum2 = sum2 + j2;
            j++;
}
   
        double sum3=0;
        double t=1;
        while (t<=10)
{
sum3 = sum3 + (1.0/t);
t=t+1;
}
 
        sum = sum1 + sum2 + sum3;
printf("%e\n",sum);

        return 0;
}

4.797793e+04

# include 
# include 
int main ()
{
        double sum;

        int sum1=0;
        int i;  
   for (i=1;i<=100;i++)
{
    sum1 = sum1 + i;  
}

        double sum2=0;
        i=1;
        while (i<=50)
{
    sum2 = sum2+pow(i,2);
            i++;
}
   
        double sum3=0;
        i=1;
        while (i<=10)
{
sum3 = sum3 + (1.0/i);
i=i+1;
}
 
        sum = sum1 + sum2 + sum3;
printf("%e\n",sum);

        return 0;
}

4.797793e+04

回答3:

第一个while循环里面的 i 的值错了,当执行完上面的for循环后,i 的值为:101了,所以不对。

回答4:

while (j<=50)
{
j2 = pow(i,2);//此时i=101,故应吧i改为 j
sum2 = sum2 + j2;
                        j++;
}

回答5:

程序已经修改:
# include
int main ()
{
double sum;
int sum1 = 0;
double sum2 = 0;
double sum3 = 0;
int i;
int j = 1;
int t = 1;
double j2;

for (i=1;i<=100;i++)
{
sum1 = sum1 + i;
}
while (j<=50)
{
sum2 = sum2 + j*j;
j++;
}
while (t<=10)
{
sum3 = sum3 + (1.0/t);
t++;
}

sum = sum1 + sum2 + sum3;
printf("%e\n",sum);
return 0;
}