• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            讀鍵盤掃描碼
            獲取機(jī)器日期
            將浮點(diǎn)數(shù)轉(zhuǎn)化為字符串
            清除屏幕
            顯示時(shí)間
            打印一個(gè)矩形
            砍掉字符串中所有空格
            取子字符串
            從文件中讀取字符
            字符串左靠齊
            取左字符串
            向文件寫數(shù)據(jù)
            取右字符串
            打開或關(guān)閉光標(biāo)
            喇叭發(fā)聲
            時(shí)間延遲
            正點(diǎn)報(bào)時(shí)
            寫整數(shù)于文件中
            從文件中讀取整數(shù)
            報(bào)警
            字符串右靠齊
            字符串居中
            刪除子字符串
            查找指定字符串
            產(chǎn)生空格
            產(chǎn)生字符串
            砍掉字符串左邊空格
            砍掉字符串右邊空格
            顯示一個(gè)字符串
            定義屏幕顏色
            顯示提示窗口顯示警告窗口
            得到文件長度
            窗口滾屏
            掃描鍵盤
            插入字符串
            檢測磁盤是否準(zhǔn)備就緒
            檢測磁盤是否寫保護(hù)
            修改文件的某一行
            成批拷貝文件
            拷貝一個(gè)文件
            建立目錄
            得到目錄
            得到文件名
            任意兩個(gè)正整數(shù)相加(<80位)
            任意兩個(gè)正整數(shù)相乘


            注意:該函數(shù)集省略了不少TC標(biāo)準(zhǔn)頭文件,讀者使用時(shí)要自行添加。而且由于該函數(shù)集內(nèi)部函數(shù)間有的有調(diào)用關(guān)系,讀者拆卸時(shí)要謹(jǐn)慎。


            /*編程技巧薈萃*/

            /*從鍵盤中讀取字符 功能:按下普通鍵時(shí),返回其ASCII碼 掃描碼CODE=0*/
            int INKEY(int *code)
            {
            int m;
            while(!bioskey(1))/*可加入無按鍵時(shí)代碼*/;
            *code=bioskey(0);
            m=*code*255;
            if(!m) m=*code>>8;
            *code=*code&255;
            return m;
            }

            /*獲取機(jī)器日期*/
            int DATE(char *s,char type)
            {
            char dat[30];
            int num;
            struct tm *tblock;
            time_t t;
            t=time(NULL);
            tblock=localtime(&t);
            strcpy(dt,asctime(tblock));
            strcpy(s,"");
            switch(type)
            {
            case 'N':
            num=(*tblock).tm_year+1900;
            itoa(num,s,10);
            break;
            case 'Y':
            num=(*tblock).tm_mon+1;
            itoa(num,s,10);
            break;
            case 'R':
            num=(*tblock).tm_mday;
            itoa(num,s,10);
            break;
            case 'S':
            strcpy(dt,asctime(tblock));
            MID(s,dt,12,8);
            break;
            }
            }
            return num;
            }

            /*將浮點(diǎn)數(shù)轉(zhuǎn)化為字符串*/
            /* 參數(shù)說明 data:需轉(zhuǎn)換的浮點(diǎn)數(shù);s:輸出字符串;len:轉(zhuǎn)換后的長度*/
            void f_to_s(double data,char *s,int len)
            {
            int dec,sign,i;
            char *s1,s2[100],s3[100];
            s1=0;
            s2[0]=0;
            s3[0]=0;
            s1=fcvt(data,len,&dec,&sign);
            if (!sign&&data>=1)
            {
            MID(s2,s1,dec+1,-1);
            MID(s3,s1,1,dec);
            strcpy(s,"+");
            strcat(s,s3);
            strcat(s,".");
            strcat(s,s2);
            }
            if (sign&&fabs(data)>=1)
            {
            MID(s2,s1,dec+1,-1);
            strcpy(s,"-");
            MID(s3,s1,1,dec);
            strcat(s,s3);
            strcat(s,".");
            strcat(s,s2);
            }
            if (!sign&&dec==0)
            {
            strcpy(s,"+0.");
            strcat(s,s1);
            }
            if (sign&&dec==0)
            {
            strcpy(s,"-0.");
            strcat(s,s1);
            }
            if (!sign&&dec<0)
            {
            strcpy(s,"+0.");
            for(i=1;i<=fabs(dec);i++)
            strcat(s,"0");
            strcat(s,s1);
            }
            if (sign&&dec<0)
            {
            strcpy(s,"-0.");
            for(i=1;i<=fabs(dec);i++)
            strcat(s,"0");
            strcat(s,s1);
            }
            if (strlen(s)>len) s[len]=0;
            }

            /*清除屏幕*/
            void CLSXY(int color,int x,int y,int xl,int yl)
            {
            int x1,y1;
            union REGS r;
            if(x<1||y<1) return;
            y--;
            x--;
            y1=y+yl-1;
            x1=x+xl-1;
            if (y1>25||x1>80)
            return;
            r.h.ah=6; /*子功能號*/
            r.h.al=0; /*滾動(dòng)行數(shù)*/
            r.h.ch=y;
            r.h.cl=x;
            r.h.dh=y1;
            r.h.dl=x1;
            r.h.bh=color*16;
            int86(16,&r,&r);
            }


            /*顯示時(shí)間*/
            void display_time(int color,int back_color,int y,int x)
            {
            static char oldtime[9]="";
            char newtime[9];
            if(y<1||x<1) return;
            settextstyle(1,0,1);
            DATA(newtime,'S');
            back_color=7;
            if(strcmp(newtime,oldtime))
            {
            setfillstyle(1,back_color);
            setcolor(color);
            bar(535,458,635,475);
            outtextxy(x,y,newtime);
            strcpy(oldtime,newtime);
            }
            }


            /*打印一個(gè)矩形*/
            void PRINT_KJ(int x,int y,int wide,int high)
            {
            int i;
            for(i=x;i<x+wide;i+=2)
            {
            gotoxy(i,y);
            cprintf("");
            }
            gotoxy(x,y+high);
            cprintf("");
            gotoxy(x+wide,y+high);
            cprintf("");
            gotoxy(x,y);
            cprintf("");
            gotoxy(x+wide,y);
            cprintf("");
            for(i=x+2;i<x+wide;i+=2)
            {
            gotoxy(i,y+high);
            cprintf("");
            }
            for(i=y+1;i<y+high;i++)
            {
            gotoxy(x,i);
            cprintf("");
            }
            for(i=y+1;i<y+high;i++)
            {
            gotoxy(x+wide,i);
            cprintf("");
            }
            }

            /*砍掉字符串中所有空格*/
            void CUT_ALL_SPC(char *s)
            {
            int i,n;
            char d[10000];
            n=0;
            for(i=0;i<strlen(s);i++)
            if(s!=32)
            {
            d[n]=s;
            n++;
            }
            d[n]=0;
            strcpy(s,d);
            }


            /*取子字符串*/
            void MID(char *s,char *t,int n,int m)
            {
            int i,j,p;
            if(n<1) n=1;
            i=strlen(s);
            if(i<n) m=0;
            if(m<0) m=i;
            else m=n+m-1;
            if(m>i) m=i;
            p=m-n+1;
            if(p<0) p=0;
            for(i=n-1,j=0;i<m;i++,j++)
            t[j]=s;
            t[p]=0;
            }


            /*從文件中讀取字符*/
            int READ_STR(char *s,FILE *fp)
            {
            int i=0;
            if(!fp) return 0;
            if(fgets(s,10000,fp)) i=1;
            s[strlen(s)-1]=0;
            return i;
            }

            /*字符串左靠齊*/
            void MOVE_LEFT(char *d,char *s,int n)
            {
            int i,l;
            l=strlen(s);
            if(n>l) n=l;
            for(i=0;i<l;i++)
            *d++=*s++;
            *d=0;
            }

            /*取左字符串*/
            void LEFT(char *d,char *s,int n)
            {
            int i,l;
            i=0;
            l=strlen(s);
            if(n>l) n=l;
            for(i=0;i<n;i++)
            d=s;
            d[n]=0;
            }


            /*向文件寫數(shù)據(jù)*/
            void WRITE_STR(char *s,FILE *fp)
            {
            char c=10;
            if(!fp) return;
            fputs(s,fp);
            fputc(c,fp);
            }

            /*取右字符串*/
            void RIGHT(char *dest,char *source,int num)
            {
            int i,j;
            if (num<1) num=0;
            num=strlen(source)-num;
            if (num<0) num=0;
            for(i=0,j=num;j<=strlen(source);i++,j++) dest=source[j];
            }


            /*打開或關(guān)閉光標(biāo)*/
            void CURSOR(int on2off)
            {
            union REGS r;
            if (on2off!=OFF) on2off=10;
            r.h.ah=1;
            r.h.ch=3;
            r.h.cl=on2off;
            int86(16,&r,&r);
            }

            /*喇叭發(fā)聲*/
            void SOUND(int frequency,int time)
            {
            int i;
            i=time*50;
            if (i>30000) i=30000;
            if (i<50) i=50;
            sound(frequency);
            MYDELAY(i);
            nosound();
            }

            /*時(shí)間延遲*/
            void MYDELAY(long t)
            {
            time_t OldTime;
            long t0;
            t0=t/55;
            if (t0<1) t0=1;
            OldTime=clock();
            while(clock()-OldTime<t0);
            }


            /*正點(diǎn)報(bào)時(shí)*/
            void REPORT_CLOCK(void)
            {
            int i;
            for(i=0;i<5;i++);
            {
            SOUND(500,10);
            MYDELAY(1000);
            }
            SOUND(800,10);
            }


            /*寫整數(shù)于文件中*/
            void WRITE_INT(int num,FILE *p)
            {
            char s[20],a=10;
            if (!p) return;
            itoa(num,s,10);
            fputs(s,p);
            fputc(a,p);
            }


            /*從文件中讀取整數(shù)*/
            int READ_INT(int *num,FILE *p)
            {
            int i;
            char s[30]="";
            if (!p) return 0;
            if (fgets(s,10000,p))
            {
            i=-1;
            s[strlen(s)-1]=0;
            *num=atoi(s);
            }
            else i=0;
            return i;
            }


            /*報(bào)警 */
            void WARN(void)
            {
            SOUND(300,1);
            SOUND(100,1);
            }


            /*字符串右靠齊*/
            void MOVE_RIGHT(char *s,int wide)
            {
            int i,l,n;
            l=strlen(s);
            n=wide-l;
            if (n>0)
            {
            for(i=l;i>-1;i--) s[i+n]=s;
            for(i=0;i<n;i++) s=32;
            }
            }


            /*字符串居中*/
            void MOVE_MIDDLE(char *s,int wide)
            {
            int i,l,n;
            l=strlen(s);
            if (wide>l)
            {
            wide=wide-1;
            n=wide/2;
            wide=wide-n;
            for(i=l;i>-1;i--) s[i+n]=s;
            for(i=0;i<n;i++) s=32;
            for(i=0;i<wide;i++) s[l+n+i]=32;
            s[l+n+i]=0;
            }
            }

            /*刪除子字符串*/
            void Delete_SubString(char *source,int start,int num)
            {
            int i,l;
            l=strlen(source);
            if (num>l-start+1||num==-1) num=l-start+1;
            if (start<1||start>1) return;
            for(i=start;i<l-num+2;i++)
            source[i-1]=source[i+num-1];
            }

            /*查找指定字符串*/
            int INSTR(int n,char *source,char *dest)
            {
            int i,j,k1,k2,p;
            int start=0;
            if (n==0) n=1;
            k1=strlen(source);
            k2=strlen(dest);
            if (n<0)
            {
            char s[100];
            n=-n;
            MID(s,source,n,k2);
            if (strcmp(s,dest)) return 0;
            return n;
            }
            if (k1-n+1<k2) return start;
            for(i=n-1;i<k1;i++)
            {
            p=0;
            for(j=0;j<k2;j++)
            if (source[i+j]!=dest[j]) break;
            else p++;
            if (p==k2)
            {
            start=i+1;
            break;
            }
            }
            return start;
            }


            /*產(chǎn)生空格*/
            void SPACE(char *s,int n)
            {
            int i;
            if (n<0) n=0;
            for(i=0;i<n;i++) *s++=32;
            *s=0;
            }


            /*產(chǎn)生字符串*/
            void STRING(int n,char *s1,char *s2)
            {
            int i;
            if (n<0) n=0;
            s1[0]=0;
            for(i=1;i<=n;i++) strcat(s1,s2);
            }


            /*砍掉字符串左邊空格*/
            void CUT_LEFT_SPACE(char *s)
            {
            int i,j,k=0;
            i=strlen(s)+1;
            for(j=0;j<i;j++) if (s[j]!=' ') break;
            for(k=0;j<i;k++,j++) s[k]=s[j];
            }
            /*砍掉字符串右邊空格*/
            void CUT_RIGHT_SPACE(char *s)
            {
            int i,j;
            i=strlen(s)-1;
            for(j=i;j>-1;j--) if (s[j]!=' ') break;
            s[j+1]=0;
            }

            /*顯示一個(gè)字符串*/
            void DISPLAY(char *s)
            {
            union REGS regs;
            int color,x,y;
            x=wherex();
            y=wherey();
            color=16*bjys+qjys;
            while(*s)
            {
            if(x>80) break;
            regs.h.ah=9;
            regs.h.al=*s;
            regs.h.bh=0;
            regs.h.bl=color;
            regs.x.cx=1; /*顯示的次數(shù),不改變光標(biāo)位置*/
            int86(16,&reg;s,&reg;s);
            x++;
            if(x>80)
            {
            x=1;
            y++;
            if(y>25) y=25;
            }
            gotoxy(x,y);
            s++;
            }
            }

            /*定義屏幕顏色*/
            void COLOR(int ForeColor,int BackColor)
            {
            if(ForeColor<0||ForeColor>15) return;
            if(BackColor<0||BackColor>15) return;
            qjys=ForeColor;
            bjys=BackColor;
            }

            /*顯示提示窗口*/
            void quit_YesNo(char *s1,char *s2)
            {
            char buffer[2000],jx;
            gettext(30,8,76,16,buffer);
            textbackground(3);
            CLSXY(8,32,9,30,6);
            CLSXY(4,30,8,30,6);
            COLOR(15,4);
            gotoxy(35,10);
            DISPLAY(s1);
            gotoxy(35,12);
            DISPLAY(s2);
            gotoxy(35+strlen(s2)+1,12);
            jx=getch();
            puttext(30,8,76,16,buffer);
            if (jx=='n'||jx=='N') return;
            textbackground(0);
            textcolor(15);
            clrscr();
            CURSOR(ON);
            exit(0);
            }

            /*顯示警告窗口*/
            void warn_message(char *s1,char *s2)
            {
            char buffer[2000];
            gettext(30,8,76,16,buffer);
            CLSXY(8,32,9,30,6);
            CLSXY(4,30,8,30,6);
            COLOR(15,4);
            gotoxy(35,10);
            DISPLAY(s1);
            gotoxy(35,12);
            DISPLAY(s2);
            gotoxy(40,13);
            DISPLAY("按任意鍵繼續(xù)...");
            getch();
            puttext(30,8,76,16,buffer);
            }

            /*得到文件長度*/
            long GetFileLength(char *file)
            {
            FILE *fp;
            int i;
            if ((fp=fopen(file,"rb"))==NULL)
            {
            clrscr();
            printf("Can't open the file %s .",file);
            return 0;
            }
            i=0;
            while(!feof(fp))
            {
            i++;
            fgetc(fp);
            }
            fclose(fp);
            return (i-1);
            }

            /*窗口滾屏*/
            void WINDOW_ROLL(int y1,int x1,int yl,int xl,int direct)
            {
            union REGS regs;
            int x2,y2;
            x1--;
            y1--;
            x2=x1+xl-1;
            y2=y1+yl-1;
            regs.h.ah=5+direct; /*ah=06h 向上滾動(dòng)當(dāng)前頁*/
            /*ah=07h 向下。。。 */
            regs.h.al=1;
            regs.h.bh=16*pmbj+pmqj;
            regs.h.ch=y1; /*左上角行*/
            regs.h.cl=x1; /*列*/
            regs.h.dh=y2; /*右下角行*/
            regs.h.dl=x2; /*列*/
            int86(16,&reg;s,&reg;s);
            }

            /*掃描鍵盤*/
            int scan_keyboard(int *m)
            {
            union inkey
            {
            unsigned char ch[2];
            int ii;
            }cc;
            while(!bioskey(1))
            {;}
            cc.ii=bioskey(0);
            *m=cc.ch[1];
            return cc.ch[0];
            }

            /*插入字符串*/
            void INSERT_STRING(char *ds,char *ss,int n)
            {
            char s[100];
            MID(ds,s,n,-1);
            ds[n-1]=0;
            strcat(ds,ss);
            strcat(ds,s);
            }
            void STR_ADD_CHAR(char *s,char ch)
            {
            char s1[2];
            s1[0]=ch;
            s1[1]=0;
            strcat(s,s1);
            }

            /*檢測磁盤是否準(zhǔn)備就緒*/
            int CheckDiskReading(int n)
            {
            int result;
            char buffer[512];
            result=biosdisk(4,n,0,0,0,1,buffer);
            result=result&0x02;
            if (result!=0x02) return 0;
            return 1;
            }

            /*檢測磁盤是否寫保護(hù)*/
            int CheckDiskWriteProf(void)
            {
            int result;
            char buffer[512];
            result=biosdisk(5,0,0,0,0,1,buffer);
            if (result==0x03) return 0;
            return 1;
            }

            /*修改文件的某一行*/
            int ModifyFileLine(char *filename,char *s,int n)
            {
            char data[20][80];
            int i;
            FILE *fp;
            if ((fp=fopen(filename,"r"))==NULL) return 0;
            i=0;
            while(READ_STR(data,fp))
            i++;
            fclose(fp);
            fp=fopen(filename,"w");
            strcpy(data[n-1],s);
            n=i-1;
            for(i=0;i<=n;i++)
            WRITE_STR(data,fp);
            fclose(fp);
            return 1;
            }

            /*成批拷貝文件*/
            int CopyFile(char *sfile,char *dfile,int f2d,int barlong,int height,int x,int y)
            {
            int Copyfile(char *sf,char *df);
            int MakeNdir(char *Dir);
            char filename[200][13],d[40],s[40],s1[40];
            struct ffblk ffblk;
            int done,i,j,l,len;
            i=0;
            done=findfirst(sfile,&ffblk,0);
            if (!done) strcpy(filename,ffblk.ff_name);
            while(!done)
            {
            done=findnext(&ffblk);
            if (!done)
            {
            i++;
            strcpy(filename,ffblk.ff_name);
            }
            }
            if (f2d)
            {
            Copyfile(sfile,dfile);
            return 1;
            }
            strcpy(s,sfile);
            l=strlen(sfile);
            for(j=l-1;j>=0;j--)
            if (s[j]=='\\')
            {
            s[j+1]=0;
            break;
            }

            /*拷貝一個(gè)文件*/
            int Copyfile(char *sf,char *df)
            {
            FILE *in,*out;
            char ch;
            in=0;
            out=0;
            if ((in=fopen(sf,"rb"))==NULL)
            exit(0);
            if ((out=fopen(df,"wb"))==NULL)
            exit(0);
            while(!feof(in))
            {
            ch=fgetc(in);
            if (ferror(in)) return 0;
            fputc(ch,out);
            if (ferror(out)) return 0;
            }
            fclose(in);
            fclose(out);
            return 1;
            }

            /*建立目錄*/
            int MakeNdir(char *Dir)
            {
            int i,l,j;
            char s[10][40];
            j=0;
            l=strlen(Dir);
            for(i=0;i<l;i++)
            if (Dir=='\\')
            {
            LEFT(s[j],Dir,i);
            j++;
            }
            strcpy(s[j],Dir);
            for(i=0;i<=j;i++)
            if (access(s,0)) mkdir(s);
            return 1;
            }

            /*得到目錄*/
            int GetDir(char *dirF,char dataK[][14])
            {
            struct ffblk ffblk;
            int done;
            int i;
            i=0;
            done=findfirst(dirF,&ffblk,FA_DIREC);
            while(!done)
            {
            if (ffblk.ff_attrib==16||ffblk.ff_attrib==17)
            {
            strcpy(dataK,ffblk.ff_name);
            strcat(dataK,"\\");
            i++;
            }
            done=findnext(&ffblk);
            }
            return i;
            }

            /*得到文件名*/
            int GetFile(char *dirF,char dataK[][14])
            {
            struct ffblk ffblk;
            int done;
            int i;
            i=0;
            done=findfirst(dirF,&ffblk,0);
            while(!done)
            {
            strcpy(dataK,ffblk.ff_name);
            done=findnext(&ffblk);
            i++;
            }
            return i;
            }
            
            /*任意兩個(gè)正整數(shù)相加(<80位)*/
            /*參數(shù)說明:numA,numB分別為加數(shù)和被加數(shù),result存放相加后的結(jié)果*/
            void add(char *numA,char *numB,char *result)
            {
            int i,j,a,b,c,jw,Alen,Blen; /*定義變量*/
            char num[81];
            char numC[81]; /*定義新的字串,長度與numA相同*/
            char ch;
            char s[1];
            num[0]=0;
            numC[0]=0;
            if (strlen(numA)>=80) return;
            if (strlen(numB)>=80) return;
            for(i=0;i<strlen(numA);i++) /*判斷輸入數(shù)是否非法*/
            if (!isdigit(numA)) return; /*如果非法返回結(jié)果為空*/
            for(i=0;i<strlen(numB);i++)
            if (!isdigit(numB)) return;
            if (strlen(numA)<strlen(numB)) /*將較大的數(shù)放入numA中*/
            {
            strcpy(num,numA);
            strcpy(numA,numB);
            strcpy(numB,num);
            num[0]=0;
            }
            Alen=strlen(numA);
            Blen=strlen(numB);
            strcpy(numC,numB);
            for(i=0;i<Alen;i++)
            numC[Alen-i-1]=numC[Blen-i-1];
            for(i=0;i<Alen-Blen;i++) /*在numC中插入n個(gè)0,使其長度等于numA*/
            numC='0';
            jw=0; /*進(jìn)位*/
            for(i=0;i<Alen;i++)
            {
            s[0]=numA[Alen-i-1];
            s[1]=0;
            a=atoi(s);
            s[0]=numC[Alen-i-1];
            s[1]=0;
            b=atoi(s);
            c=a+b+jw;
            if (c>=10)
            {
            jw=1;
            c=c-10;
            }
            else jw=0;
            itoa(c,s,10);
            num=s[0];
            }
            if (jw==1) {num='1';num[i+1]=0;}
            else num=0;
            j=strlen(num);
            for(i=0;i<j/2;i++)
            {
            ch=num;
            num=num[j-i-1]; /*將num反轉(zhuǎn)*/
            num[j-i-1]=ch;
            }
            strcpy(result,num);
            return; /*返回相加結(jié)果*/
            }

            /*任意兩個(gè)正整數(shù)相乘*/
            /*參數(shù)說明:numA,numB 分別為乘數(shù)和被乘數(shù),resultm存放積*/
            void mult(char *numA,char *numB,char *resultm)
            {
            int i,j,k,l,m,a,b,c,jw,Alen,Blen,f; /*定義變量*/
            char resulta[82];
            char num[161];
            char ch;
            char s[1];
            num[0]=0;
            f=0;
            if (strlen(numA)>=80) return;
            if (strlen(numB)>=80) return;
            for(i=0;i<strlen(numA);i++) /*判斷輸入數(shù)是否非法*/
            if (!isdigit(numA)) return; /*如果非法返回結(jié)果為空*/
            for(i=0;i<strlen(numB);i++)
            if (!isdigit(numB)) return;
            if (strlen(numA)<strlen(numB)) /*將較大的數(shù)放入numA中*/
            {
            strcpy(num,numA);
            strcpy(numA,numB);
            strcpy(numB,num);
            num[0]=0;
            }
            Alen=strlen(numA);
            Blen=strlen(numB);
            strcpy(resultm,"0");
            for(i=0;i<Blen;i++)
            {
            s[0]=numB[Blen-i-1];
            s[1]=0;
            c=atoi(s);
            strcpy(resulta,numA);
            if (c==0) strcpy(resulta,"0");
            for(j=0;j<c-1;j++) {add(resulta,numA,resulta);}
            l=strlen(resulta);
            for(k=0;k<i;k++)
            {
            resulta[l+k]='0';
            resulta[l+k+1]=0;
            }
            add(resultm,resulta,resultm);
            }
            }
            Posted on 2005-12-02 16:08 艾凡赫 閱讀(493) 評論(0)  編輯 收藏 引用 所屬分類: C語言
            久久中文字幕一区二区| 999久久久免费国产精品播放| 久久久精品久久久久特色影视| 久久精品无码av| 久久久久久伊人高潮影院| 久久青青草原精品国产| 久久AⅤ人妻少妇嫩草影院| 久久久国产打桩机| 精品国产乱码久久久久久浪潮| 香蕉久久久久久狠狠色| 国产一级做a爰片久久毛片| 综合久久精品色| 青青草原综合久久| 亚洲精品乱码久久久久久蜜桃图片| 99热都是精品久久久久久| 伊人久久精品无码av一区| 久久影视综合亚洲| 亚洲国产成人久久精品动漫| 久久久久人妻一区二区三区| 久久久久久A亚洲欧洲AV冫| 国产精品禁18久久久夂久| 99久久精品免费看国产一区二区三区 | 综合网日日天干夜夜久久| 日本久久久精品中文字幕| 久久久久人妻一区精品性色av| 色综合久久88色综合天天 | 99久久精品国产一区二区蜜芽| 人妻少妇久久中文字幕一区二区| 四虎影视久久久免费观看| 国产精品欧美久久久天天影视| www.久久99| 少妇人妻88久久中文字幕| 欧美午夜精品久久久久免费视| 波多野结衣AV无码久久一区| 99久久做夜夜爱天天做精品| 亚洲精品午夜国产va久久| 久久伊人五月天论坛| 99久久这里只精品国产免费| 97久久国产综合精品女不卡| 久久精品国产日本波多野结衣| 亚洲国产欧洲综合997久久|