求助一个函数嵌套的程序!
#include<stdio.h>#define N 5
#define K 4
long power(int n,int k);
long total(int n,int k);
long power(int n,int k) //第几个数,乘多少次
{
int i;
long power = n;//赋予初始值n,由total中的i决定
for(i = 1; i < k; i++)
{
power = n*n;
}
return power;
}
long total(int n,int k)//第几个数,加起来。k代表乘方多少次
{
int i;
long sum = 0;
for(i = 1; i <= n; i++)
{
sum += power(i,k);
}
return sum;
}
int main()
{
printf("N = %d,K = %d\n",N,K);
printf("sum = %ld\n",total(N,K));
return 0;
}
算出来的答案sum = 55; 但是书上算出来是979;这个是用来就1的四次方加到5的四次方的,求大佬看看哪里出问题!感谢!
#include<stdio.h>
#define N 5
#define K 4
long power(int n,int k);
long total(int n,int k);
long power(int n,int k) //第几个数,乘多少次
{
int i;
long power = n;//赋予初始值n,由total中的i决定
for(i = 1; i < k; i++)
{
power = power*n;//把n*n改成power*n
}
return power;
}
long total(int n,int k)//第几个数,加起来。k代表乘方多少次
{
int i;
long sum = 0;
for(i = 1; i <= n; i++)
{
sum += power(i,k);
}
return sum;
}
int main()
{
printf("N = %d,K = %d\n",N,K);
printf("sum = %ld\n",total(N,K));
return 0;
}
把题目发出来 power=n*n ;改为
power *=n; 即可。 quark 发表于 2021-2-22 19:38
power=n*n ;改为
power *=n; 即可。
可以了 为啥呀 这两个不应该是等价的吗 心驰神往 发表于 2021-2-22 16:36
为啥为啥 学编程的盆子 发表于 2021-2-22 20:46
为啥为啥
懂了 学编程的盆子 发表于 2021-2-22 20:45
可以了 为啥呀 这两个不应该是等价的吗
懂了 学编程的盆子 发表于 2021-2-22 20:46
为啥为啥
真的可以啊 找郝斌的C语言视频好好学学赋值语句吧。你会用+=、-=,就应该会用*=、/=;对于递归运算,不用前述的赋值号,等号右边是要有自身的。
页:
[1]