czj1016130386 发表于 2018-9-6 18:04:29

刚刚学函数的嵌套遇到一些问题

问题是求2^2阶层+3^2阶层的和,最好结果不对,就不知道哪里错了

#include<stdio.h>

int main()
{
    int sqr(int x);
    int fac(int j);
    int a,b,c,d,sum;
    scanf("%d %d",&a,&b);
    c=d=sum=0;
    c = fac(a);
    d = fac(b);
    sum = c+d;
    printf("sum is %d\n",sum);
    return 0;
}

int sqr(int x)
{
    int g;
    g = x * x;
    return g;
}

int fac(int j)
{
    int i,e,f,z;
    e=f=z=1;
    z = sqr(j);
    for(i=0;i==z;i++)
    {
      e = z-i;
      f = f * e;
    }
    return f;
}

claws0n 发表于 2018-9-6 18:47:25

你要的应该是这个,不是很清楚你要什么~
请加入适当的空白(符号之间该空格的要空格)
谁教你函数的声明放在主函数内部的?请不要这样做……#include<stdio.h>

int sqr(int x);
int fac(int j);
int main()
{
    int a, b, c, d, sum;
    scanf("%d %d",&a,&b);
    c = d = sum = 0;
    c = fac(sqr(a));
    d = fac(sqr(b));
    sum = c + d;
    printf("sum is %d\n", sum);
    return 0;
}

int sqr(int x)
{
    return x*x;
}

int fac(int n)
{
    int i = 0, result = 1;

    while(i < n)
    {
            result *= (i+1);
            i++;
    }
    return result;
}

czj1016130386 发表于 2018-9-6 20:49:43

claws0n 发表于 2018-9-6 18:47
你要的应该是这个,不是很清楚你要什么~
请加入适当的空白(符号之间该空格的要空格)
谁教你函数的声明 ...

厉害了,简化了很多,学习了,谢谢
页: [1]
查看完整版本: 刚刚学函数的嵌套遇到一些问题