c中的素数和立方总和[关闭]

问题描述 投票:-6回答:2

我试图弄清楚如何获得素数n,并计算n (1^3 + 2^3 + ... + n^3)的立方体总和。到目前为止,我可以弄清楚如何获得素数。我只是无法弄清楚如何得到相同的n来计算它的素数。这是我到目前为止:

#include <stdio.h>

int main() {
    int n, i, c = 0
    printf("Enter any number n: ");
    scanf("%d", &n);

    for(i=2; i<=n/2; i++){
        if(n%i == 0){
        c=1;
        break;
        }
    }
    if (c==0)
        printf(%d is a prime number.",n);
    else
        printf("%d is not a prime number.",n);
    printf("Enter that same number n: ");
    scanf("%d", &num);
    int num, cube, sum = 0, j=1;
    while (j <= num) {
        cube = j*j*j;
        sum = sum + cube;
        j++;
    }
    printf("sum of cubes of %d is %d\n", num, sum);

    return 0:
}

我在第二个scanf上遇到错误,因为它说num是未声明的。我该怎么做才能解决这个问题。

c scanf primes
2个回答
2
投票

声明int num后使用scanf。你也在第二个数字中使用了%。使用

int num, cube, sum = 0, j=1;
scanf("%d", &num);

代替

scanf("%d", %num);
int num, cube, sum = 0, j=1;

0
投票

考虑一下这个起始片

long double sumcubs(int n)
{
    int i;
    long double ret = 0;

    for (i = 1; i <= n; ++i)
        ret += (i * i * i);

    return ret;
}

一旦你封装了这个多维数据集的功能,就可以更容易地组织和编写其余的代码。

© www.soinside.com 2019 - 2024. All rights reserved.