哪位 C语言编程高手帮忙解答一下 谢谢
下面程序的功能是:计算出自然数 SIX 和 NINE,它们满足的条件是
SIX+SIX+SIX=NINE+NINEDE 的个数 cnt 以及满足此条件所有的 SIX 和 NINE 的和sum.
请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果 cnt 和 sum,输出到OUT15.DAT中.
其中的 S,I,X,N,E 各代表一个十进制数字.
部分源程序如下:
#include <stdio.h>
int cnt,sum;
void countValue()
{
}
void main()
{
cnt=sum=0;
countValue();
printf("满足条件的个数=%d\n",cnt);
printf("满足条件所有的SIX与NINE的和=%d\n",sum);
writeDat();
}
writeDat()
{
FILE *fp;
fp=fopen("OUT15.DAT","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
参考答案给出的是:
void countValue()
{
int i=100;
while(1)
{
if(3*i%2==0&&3*i/2>=1000&&3*i/2<=9999&&i/10%10==(3*i/2)/100%10&&
(3*i/2)/1000==(3*i/2)%100/10)
{cnt++;sum+=i+3*i/2;i++;}
else i++;
if (i>999||3*i/2>9999) break;
}
}
我觉得 给的答案不正确. 也感觉 题目很怪 ,没看懂. 哪位 C语言编程高手帮忙解答. 不甚感激. 谢谢.
[ 本帖最后由 凝弦飞雪 于 2007-4-7 20:51 编辑 ]
搜索更多相关主题的帖子:
C语言 高手 解答 帮忙