c中的素数和立方总和

时间:2018-01-22 12:53:15

标签: c scanf primes

我想弄清楚如何获得素数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是未声明的。我该怎么做才能解决这个问题。

2 个答案:

答案 0 :(得分:2)

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

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

而不是

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

答案 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;
}

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