请教高手指点,这个程序无误可是运行出错,哪里出问题了。
请教指点,如题,谢谢。程序代码:
#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 编辑 ]