下面的C程序怎么错了呀,在线等

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:05:49
#include <stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
int i,qi,ba,sh,ge,j;
int ab,cd;
for(i=0;i<200;i++)
{
qi=a[i]/1000;
ba=(a[i]-qi*1000)/100;
sh=(a[i]-qi*1000-ba*100)/10;
ge=a[i]-qi*1000-ba*100-ge*10;
ab=ge*10+qi;cd=ba*10+sh;
if((ab%9==0||cd%9==0)&&(ab%2==1)&&(cd%2==1)&&ab/10!=0&&cd/10!=0)
{b[cnt]=a[i];cnt++;}
}
}
void readDat()
{
int I;
FILE *fp;
fp=fopen("IN25.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
main()
{
int I;
readDat();
jsVal();
printf("满足条件的数=%d\n",cnt);
for(i=0;i<cnt;i++)
printf("%d\n",b[i]);
printf("\n");
writeDat();
}
writeDat()
{
FILE *fp;
int I;
fp=fopen("OUT25.DAT","w");

你的程序有三个地方错误,你写的int I;应该修改为int i;分别是21、30、42行。

还有一个警告,程序13行的地方,变量ge没有赋值就开始使用,可以把第6行修改为:
int i,qi,ba,sh,ge=0,j;