vc++6.0组建问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:49:29
#include <stdio.h>
int cnt, sum;
void countValue()
{
int i,a,b,c,d;
for(i=1000;i<=5000;i++)
{
a=i/1000;
b=i/100%10;
c=i/10%10;
d=i%10;
if(a+b==c+d && a+b==(d-a)*10)
{
cnt++;
sum+=i;
}
}
void main()
{
cnt = 0;
sum = 0;
countValue();
printf("满足条件的自然数的个数=%d\n", cnt);
printf("满足条件的自然数的个数之和=%d\n", sum);
writeDat();
}
writeDat()
{
FILE *fp;
fp = fopen("OUT13.DAT", "w");
fprintf(fp, "%d\n%d\n", cnt, sum);
fclose(fp);
}

按了编译之后
Compiling...
XT9.C
D:\My Documents\c\source\题目\XT9.C(18) : error C2143: syntax error : missing ';' before 'type'
D:\My Documents\c\source\题目\XT9.C(25) : warning C4013: 'writeDat' undefined; assuming extern returni

错误如下:
1.countValue() 函数少了一个“}”。
2.writeDat()函数没有声明和返回值。
修改如下:

#include <stdio.h>
int cnt, sum;

void writeDat();
void countValue()
{
int i,a,b,c,d;
for(i=1000;i<=5000;i++)
{
a=i/1000;
b=i/100%10;
c=i/10%10;
d=i%10;
if(a+b==c+d && a+b==(d-a)*10)
{
cnt++;
sum+=i;
}
}
}

void main()
{
cnt = 0;
sum = 0;
countValue();
printf("满足条件的自然数的个数=%d\n", cnt);
printf("满足条件的自然数的个数之和=%d\n", sum);
writeDat();
}

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