请教高手指点,这个程序无误可是运行出错,哪里出问题了。
请教指点,如题,谢谢。
程序代码:#include<stdio.h>
#include<windows.h>
#include<time.h>
int a[1];
int i,j,m,n,v,q;
int t,h,g,w,e,r;
int temp;
int b[7]={8,9,9,0,5,4,3};
int c[7]={2,1,5,1,8,6,2};
int d[7]={9,3,1,7,1,7,5};
void readDat();
void writeDat();
void jsValue()
{time_t timep;
struct tm *p;
int year,mon,day;
int k;
time(&timep);
p = localtime(&timep); //取得当地时间
year = 1900+p->tm_year;
mon = 1+p->tm_mon;
day = p->tm_mday;
for(t=0;t<7;t++)
{w=rand()%7;
temp=b[t];
b[t]=b[w];
b[w]=temp;}
for(h=0;h<7;h++)
{e=rand()%7;
temp=c[h];
c[h]=c[e];
c[e]=temp;}
for(g=0;g<7;g++)
{r=rand()%7;
temp=d[g];
d[g]=d[r];
d[r]=temp;}
i=(year-2001)/4+(year-2001)*365;
if(mon=1)
{j=0+day;
}
if(mon=2)
{j=31+day;
}
if((mon=3)&&(year%4!=0))
{j=59+day;
}
if((mon=4)&&(year%4!=0))
{j=90+day;
}
if((mon=5)&&(year%4!=0))
{j=120+day;
}
if((mon=6)&&(year%4!=0))
{j=151+day;
}
if((mon=7)&&(year%4!=0))
{j=181+day;
}
if((mon=8)&&(year%4!=0))
{j=212+day;
}
if((mon=9)&&(year%4!=0))
{j=243+day;
}
if((mon=10)&&(year%4!=0))
{j=273+day;
}
if((mon=11)&&(year%4!=0))
{j=304+day;
}
if((mon=12)&&(year%4!=0))
{j=334+day;
}
if((mon=3)&&(year%4==0))
{j=60+day;
}
if((mon=4)&&(year%4==0))
{j=91+day;
}
if((mon=5)&&(year%4==0))
{j=121+day;
}
if((mon=6)&&(year%4==0))
{j=152+day;
}
if((mon=7)&&(year%4==0))
{j=182+day;
}
if((mon=8)&&(year%4==0))
{j=213+day;
}
if((mon=9)&&(year%4==0))
{j=244+day;
}
if((mon=10)&&(year%4==0))
{j=274+day;
}
if((mon=11)&&(year%4==0))
{j=305+day;
}
if((mon=12)&&(year%4==0))
{j=335+day;
}
m=i+j;
if((m-a[0]>=7)&&p->tm_hour>19)
{int n,v,q;
a[0]=m;
for(n=0; n < 7; n++) printf("%d", b[n]);
for(v=0; v < 7; v++) printf("%d", c[v]);
for(q=0; q < 7; q++) printf("%d", d[q]);
Sleep(1800000);
return 0;}
else
{Sleep(5000);
return 0;}
}
void main()
{
readDat();
jsValue();
writeDat();
}
void readDat()
{
FILE *fp;
int i;
fp=fopen( "in34.cdf","r");
for(i=0;i<1;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
void writeDat()
{
FILE *fp;
fp=fopen("in34.cdf","w");
fprintf(fp,"%d",&a[0]);
fclose(fp);
}这个程序代码大致是,给定了3个数组,并且打乱了里面的数据,有一个天数是从2001年开始到现在的时间,过了多少天,还有一个a[i]数组存放着一个天数,除了初始给定的外,是上次运行的时间(如果上次满足了条件),如果满足了条件即现在到2001年1月1日的之间的天数减去数组a[i](只有一个数值)大于等于7,则把现在的天改写到a[i]当中去,并且把那三个乱序数组输出,同时休眠30分钟后退出。如果不满足条件,休眠5秒后直接退出。
不知道有什么错误,之前忘了写说明了,请求大神指导,谢谢
[ 本帖最后由 axaxzzzzzz 于 2014-10-30 19:09 编辑 ]




