78、下列程序的功能是:设A,B,C为三个不零的正整数,计算并输出下列不定方程组解
的个数CNT以及满足此条件的所有A,B,C之和SUM。
不定方程组为:
A+B+C=13
A-C=5
请编写函数COUNTVALUE()实现程序要求,最后调用函数WRITEDAT()把结果CNT和SUM
输出到文件OUT.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("out.dat","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}

/* 注:由A-C=5对A+B+C=13进行变换可得B=18-2*A,题中要求三个数都要大于0,所以A
必须从6开始(为了保证C不小于等于0),进而可得只要B大于0即可(即18-2*A>0)。*/
void countvalue()
{
int a;
for(a=6;a<13;a++)
if(18-2*a>0)
{cnt++;
sum+=13;
}
}

返回南开百题目录

www.163164.cn 联系QQ:3149886