53、下列程序的功能是:先出5000以下符合条件的自然数。条件是:千位数字与百位数
字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位
数字之差的确10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写
函数countvalue(0实现程序的要求,最后调用函数writedat()把结果cnt和sum,输
出到文件out13.dat中。
#include <stdio.h>
int cnt,sum;

void countValue()
{

}

void main()
{
cnt=sum=0;

countValue();
printf("cnt=%d\n",cnt);
printf("sum=%d\n",sum);
writeDAT();
}

writeDAT()
{
FILE *fp;

fp=fopen("OUT13.DAT","w");
fprintf(fp, "%d\n%d\n",cnt,sum);
fclose(fp);
}

/* 注:该题的关键亦是如何取出各位数字。*/
void countValue()
{
int i;
for(i=1000;i<5000;i++)
if((i/1000+i/100%10)==(i/10%10+i%10))
if((i/1000+i/100%10)==(i%10-i/1000)*10)
{cnt++;
sum+=i;
}
}

返回南开百题目录

www.163164.cn 联系QQ:3149886