关于#c语言#的问题,请各位专家解答!

问题如下

img


求专家帮我看看代码出现什么问题
代码如下(C语言)


```c
#include
int main()
{
    
    int k;
    int i=1;
    int a=1;
    int b=1;
    int sum1=0,sum2=0,sum3=0;
    scanf_s("%d",&k);
    for(i=1;i<=100;i++)
    {
        sum1=sum1+i;
        sum1=sum1*k;
        printf("%d",&sum1);
    }
    for(a=1;a<=50;a++)
    {
        sum2=sum2+a;
        sum2=sum2*k*k;
        printf("%d",&sum2);
    }
    for(b=1;b<=10;b++)
    {
        sum3=sum3+a;
        sum3=sum3/k;
        printf("%d",&sum3);
    }
    return 0;
}

```

根据下面三个参考链接的资料,发现如果是如图片所示求三个sigma式子的和,k的值应该是不要再获取输入的,因为k的范围在三个式子中已经给出了,因为对这方面的数学知识不是很熟悉,所以暂以前面所述的方法求和,修改如下:

参考链接:


https://www.cnblogs.com/wf5360308/articles/1225810.html

https://baijiahao.baidu.com/s?id=1717588663241397737&wfr=spider&for=pc





#include<stdio.h>
int main()
{
    
    int k;
    int i=1;
    int a=1;
    int b=1;
    double sum1=0,sum2=0,sum3=0;
   // scanf("%d",&k);
   
   // https://www.cnblogs.com/wf5360308/articles/1225810.html
    for(i=1;i<=100;i++)
    {
        sum1=sum1+i; // 累加i从1100之间的和 
      //  sum1=sum1*k;
      //  printf("%d",&sum1);
    }
    //printf("%f\n",sum1);
    
    for(a=1;a<=50;a++)
    {
        sum2=sum2+a*a; // 累加a的平方从150之间的和 
      //  sum2=sum2*k*k;
       // printf("%d",&sum2);
    }
   // printf("%f\n",sum2);
    
    for(b=1;b<=10;b++)
    {
        sum3=sum3+1.0/b; // 累加1/b从110之间的和 
       // sum3=sum3/k;
       // printf("%d",&sum3);
    }
  //  printf("%f\n",sum3);
    
    // http://sigma-calculator.bchrt.com/
    // 把三个sigma式子的和累加并打印 
    printf("%f\n",sum1+sum2+sum3);
    
    return 0;
}
 

img

补充一下GPT_Pro
printf后面不用加&符号,这个只有scanf时才用

该回答内容部分引用GPT,GPT_Pro更好的解决问题
从上面的代码可以看出,程序中缺少了一些必要的操作,比如第5行要定义int ki,但是它没有定义,所以编译器会报出错误提示。另外,第11行的scanf_sCsarvak也是不合法的,这里应该使用scanf()函数来获取输入的数据。此外,程序有一些语法错误,比如第9行的int a=-1;写法不对,应该使用a= -1;的形式。

最后,在第13行for循环中,应使用i++来自增变量i,而不是i+t+。

为了使上面的代码能够正常运行,需要对代码进行修改:

#include <stdio.h>
int main()
{
    int ki;   //定义变量ki
    int i=1;  //将变量i初始化为1
    int a=-1; //将变量a初始化为-1
    int b=1;  //将变量b初始化为1
    int sum1=9,sum2=9,sum3=6; //定义sum1,sum2,sum3

    scanf("%d",&ki);  //使用scanf函数获取输入的数据

    for(i=1;i<=196;i++)  //使用i++来自增变量i
    {

    }

    return 0;
}

如果回答有帮助,望采纳。

供参考:

#include<stdio.h>
int main()
{
    int k;
    //int i = 1;
    //int a = 1;
    //int b = 1;
    double sum1 = 0, sum2 = 0, sum3 = 0;
    //scanf_s("%d", &k);
    for (k = 1; k <= 100; k++)
    {
        if (k <= 10) {
            sum3 += 1.0 / k;
        }
        if (k <= 50) {
            sum2 += k * k;
        }
        sum1 += k;
        //sum1 = sum1 * k;
    }
    printf("%.2f", sum1 + sum2 + sum3);

    //for (a = 1; a <= 50; a++)
    //{
    //    sum2 = sum2 + a;
    //    sum2 = sum2 * k * k;
    //    printf("%d", &sum2);
    //}
    //for (b = 1; b <= 10; b++)
    //{
    //    sum3 = sum3 + a;
    //    sum3 = sum3 / k;
    //    printf("%d", &sum3);
    //}
    return 0;
}

看着代码没有问题
望采纳,
这段代码的功能是计算1到100的数字的和,50到100的数字的和,以及1到10的数字的和,并将它们乘以k,然后将结果输出到屏幕上