• <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語言
            九九精品久久久久久噜噜| 久久精品国产一区二区电影| 亚洲七七久久精品中文国产| 久久久无码精品亚洲日韩京东传媒| 久久精品国产亚洲av麻豆色欲| 国产日韩欧美久久| 99久久精品国产麻豆| 无码久久精品国产亚洲Av影片 | 久久精品久久久久观看99水蜜桃| 亚洲午夜无码久久久久| 伊人久久久AV老熟妇色| 99久久免费国产精品| 一本伊大人香蕉久久网手机| 精品国产乱码久久久久久呢 | 久久国产影院| 国产精品对白刺激久久久| 91精品国产91久久久久福利| 国产精品美女久久福利网站| 丁香五月综合久久激情| 韩国免费A级毛片久久| 97视频久久久| 久久精品国产男包| 免费精品国产日韩热久久| 亚洲国产精品无码久久SM| 久久亚洲精品无码播放| 久久精品aⅴ无码中文字字幕不卡| 91精品国产高清久久久久久国产嫩草 | 久久婷婷五月综合色高清| 久久天堂电影网| 亚洲国产精品一区二区三区久久 | 东京热TOKYO综合久久精品| 国产欧美久久久精品影院| 色诱久久av| 久久久久亚洲av无码专区导航| 久久午夜免费视频| 久久国产免费直播| 丁香色欲久久久久久综合网| 狠狠色丁香久久婷婷综合| 欧美精品久久久久久久自慰| 国产精品99精品久久免费| 久久久精品午夜免费不卡|