#include
int factorial(int n)
{
int fac=n;
int i;
for(i=1;ifac*=n;
return fac;
}
int main()
{
int n;
printf("请输入n的值:");
scanf("%d",&n);
int i,s=0;
for(i=1;i<=n;i++)
s+=factorial(i);
printf("1(一次方)+2(二次方)+3(三次方).....加到n(n次方)的和为:%d",s);
return 0;
}
# include
int main(void)
{
unsigned int n,i,j,temp;//i:底数 j:次方
unsigned int s = 0;
printf("输入n的值为:");
scanf("%d",&n);
for(i = 1; i<=n; i++)
{
temp = i;
for(j = 1; j< i; j++)
{
temp *= i;
}
s += temp;
}
printf("结果为:%d\n",s);
return 0;
}
1.我觉得可以用unsigned类型,因为n不可能为负数吧
2.第一个for是实现1到n底数的遍历,第二个for是实现底数的幂的结果,具体来说就是把k这个数乘以k本身k-1次
3.【名字短了会重名】的回答比较专业,我这个只是比较通俗的解释(因为我也是初学者XD)
#include
#include
int main()
{
int a,b,c,d,e;
scanf("%d",&a);
for(b=1;b<=a;b++)
{
for(e=1,c=1;c<=b;c++)
{
e*=b;
}
d+=e;
}
printf("%d",d);
system("pause");
return 0;
}
试试哈,我这没编译环境没测试
这样。
#include
#include
#include
int main()
{
int a,b,c,d,e=0;
scanf("%d",&a);
for(b=1;b<=a;b++)
{
d=1;
for(c=0;c d*=b;
e+=d;
}
printf("%d",e);
return 0;
}
Have Fun