怎样用数组,指针,结构体,文件写出这个程序

 

代码如下,如有帮助,请采纳一下,谢谢。

#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;
}