level 4
#include<stdio.h>
double fact(double n);
double cfh(double x,double n);
main()
{
double sum,t;
int x,n,i;
sum=1;
printf("please input x,n:");
scanf("%d,%d",&x,&n);
for(i=1;i<=x;i++)
{t=cfh(x,n)/fact(n);
sum+=t;
printf("%lf",sum);}
}
double fact(double n)
{int z,i;
z=1;
for(i=1;i<=n;i++)
{z*=i;}
return(z);
}
double cfh(double x,double n)
{int y,i;
y=1;
for(i=1;i<=n;i++)
{y*=x;
return(y);}
}
自己发现了一些问题,又改了一下,但还是不对
2017年12月14日 05点12分
3
level 6
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
int i;
int myfact(int factN,int x){
int refactN = 1;
for (i = 1;i<=factN;i++){
refactN += i + 1;
}
return refactN;
}
long mypwer(int pwerN,int x){
long repwerN = x;
for (i = 0;i<pwerN;i++){
repwerN *= x;
}
return repwerN;
}
double mysumN(int N,int x){
double resumN = x,refact,repwer;
int count, j=1,k=1,Max;
Max = N>x?N:x;
for (count = 1;count< Max;count++){
if (!(count>=x)){refact = myfact(count,x); j++;}
if(!(count>=N)){repwer = mypwer(count,x);k++;}
resumN += repwer/refact;
printf("1+%d+%d^%d/%d!=%lf\n",x,x,k,j,resumN+1);
printf("阶乘得数:%lf\n",refact);
printf("幂运算得数:%lf\n",repwer);
getch();
}
return resumN++;
}
int main(){
int N,x;
double remysum;
clrscr();
printf("公式:1+x+x^2/2!……+x^n/x!\n");
printf("输入n次幂:");
scanf("%d",&N);
printf("输入基数x:");
scanf("%d",&x);
printf("你的输入为:1+%d+%d^%d/%d!\n",x,x,N,x);
getch();
remysum = mysumN(N,x)+1;
printf("%lf",remysum);
return 0;
}
2017年12月15日 09点12分
7
虽然不太对,但还是谢谢啦
2017年12月15日 14点12分
level 6
我知道了,是溢出了,把幂运算的long 改成double
2017年12月15日 15点12分
9
level 6
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
int i;
int myfact(int factN,int x){
int refactN = 1;
for (i = 1;i<=factN;i++){
refactN += i + 1;
}
return refactN;
}
long double mypwer(int pwerN,int x){
long double repwerN = x;
for (i = 0;i<pwerN;i++){
repwerN *= x;
}
return repwerN;
}
double mysumN(int N,int x){
double resumN = x,refact,repwer;
int count, j=1,k=1,Max;
Max = N>x?N:x;
for (count = 1;count< Max;count++){
if (!(count>=x)){refact = myfact(count,x); j++;}
if(!(count>=N)){repwer = mypwer(count,x);k++;}
resumN += repwer/refact;
printf("1+%d+%d^%d/%d!=%lf\n",x,x,k,j,resumN+1);
printf("阶乘得数:%lf\n",refact);
printf("幂运算得数:%lf\n",repwer);
getch();
}
return resumN++;
}
int main(){
int N,x;
double remysum;
clrscr();
printf("公式:1+x+x^2/2!……+x^n/x!\n");
printf("输入n次幂:");
scanf("%d",&N);
printf("输入基数x:");
scanf("%d",&x);
printf("你的输入为:1+%d+%d^%d/%d!\n",x,x,N,x);
getch();
remysum = mysumN(N,x)+1;
printf("%lf",remysum);
return 0;
}
2017年12月15日 15点12分
12
我在输出把运算结果打印出来了啊,你可以核对下嘛
2017年12月15日 16点12分
level 6
在mysumN里面还有两个myfact跟mypwer就是幂跟阶乘调用
2017年12月15日 16点12分
14
level 6
我本来在dev c里面搞的,分了几个文件,合到一起有点乱
2017年12月15日 16点12分
15