这个代码建立的文件里面应放入什么呢?怎么老是找不到指定文件呢?

#include <stdio.h>
//定义一个结构体
struct NodeData 
{
    int nmb;
    int bsxh; //是否是水仙花数
};
//判断是否是水仙花
int isShuixianhua(int n)
{
    int d,nmb=n;
    int sum = 0;
    while(n)
    {
        d = n%10;
        sum += (d*d*d);
        n /= 10;
    }
    if(nmb == sum)
        return 1;
    else
        return 0;
}
int main()
{
    struct NodeData a[1000];
    struct NodeData* p;
    int i;
    FILE* fp;
    for (i=100;i<=1000;i++)
    {
        a[i-100].nmb = i;
        a[i-100].bsxh = isShuixianhua(i);
    }
    p = a;
    i = 100;
    fp = fopen("out.txt","w");
    while(i<=1000)
    {
        if(p->bsxh)
            fprintf(fp,"%d\n",p->nmb);
        p++;
        i++;
    }
    fclose(fp);
    return 0;
}
 

修改如下,供参考:

#include <stdio.h>
//定义一个结构体
struct NodeData 
{
    int nmb;
    int bsxh; //是否是水仙花数
};
//判断是否是水仙花
int isShuixianhua(int n)
{
    int d,nmb=n;
    int sum = 0;
    while(n)
    {
        d = n%10;
        sum += (d*d*d);
        n /= 10;
    }
    if(nmb == sum)
        return 1;
    else
        return 0;
}
int main()
{
    struct NodeData a[900];
    struct NodeData* p;
    int i,k;
    FILE* fp;
    for (i=100,k=0;i<1000;k++,i++)//for (i=100;i<=1000;i++)
    {
        a[k].nmb = i;
        a[k].bsxh = isShuixianhua(i);
    }
    p = a;
    i = 0;
    fp = fopen("out.txt","w");
    while(i < k)
    {
        if(p->bsxh)
            fprintf(fp,"%d\n",p->nmb);//是水仙花数,就写入文件中。
        p++;
        i++;
    }
    fclose(fp);
    
    return 0;
}