不知道哪出错了,不显示运行结果

img

img

img


按理说应该输出1.0000

代码修改如下,如有帮助,请帮忙采纳一下,谢谢

#include <stdio.h>
#include <math.h>
long long fact(int n) 
{ 
    int i;
    long long product=1; 
    if(n==0) //这里是n不是i 
        product=1; 
    else 
        for(i=1;i<=n;i++)  //修改1
            product=product*i; 
    return product; 
} 
int main() 
{ 
    int i,n,y=0,flag=1; 
    double x,fz,fm,item,cosx=0; 
    scanf("%d%lf",&n,&x); 
    for(i=0;i<n;i++) //从0开始
    { 
        fz=pow(x,y); 
        item=flag*fz/fact(y); //这里是fact(y) 
        flag=-flag; 
        y=y+2; 
        cosx=cosx+item; 
    } 
    printf("%.4f\n",cosx); 
    return 0; 
}


scanf写错了
scanf("%d%lf",&n,&x);
另外y应该赋予初始值,否则第一次执行fz = pow(x,y)的时候y还没有值