亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? arithmetic.c

?? 本程序是用純C語(yǔ)言編的一個(gè)基于命令行的四則運(yùn)算計(jì)算器。主要用于計(jì)算四則運(yùn)算表達(dá)式的值
?? C
字號(hào):
/*****************************************************************************
 * 本程序是用純C語(yǔ)言編的一個(gè)基于命令行的四則運(yùn)算計(jì)算器。主要用于計(jì)算四則運(yùn)算
 * 表達(dá)式的值,同時(shí)可以實(shí)現(xiàn)四種進(jìn)制任意兩種之間的轉(zhuǎn)換。
 * 主要功能:1.四則運(yùn)算:能夠解釋并執(zhí)行四則運(yùn)算表達(dá)式。
 * 四則運(yùn)算就是包含+、—、*、/、.(小數(shù)點(diǎn))和數(shù)字的運(yùn)算表達(dá)式,
 * 例如:3+2.9*(5-6/3) -4+(+8*6)等;	
 * 2.錯(cuò)誤警告:能夠?qū)Σ环险Z(yǔ)法的表達(dá)式給出相應(yīng)的錯(cuò)誤警告,本程序共給出了8大類警告
 * 3.進(jìn)制轉(zhuǎn)換:能夠做二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制中任意兩種進(jìn)制之間的互相轉(zhuǎn)換
 * 4.幫助系統(tǒng):提供完善的幫助系統(tǒng);
 * 5.出錯(cuò)保護(hù):要有良好的出錯(cuò)保護(hù)系統(tǒng),命令行輸入錯(cuò)誤,程序仍能正常運(yùn)行。
 *  Author: Edward Lee
 *  Date:  08/2002
 *  Contact: edward.li@163.com
 ****************************************************************************/

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#define STACKSIZE 100
int topt=-1;
int topd=-1;
double opnd[STACKSIZE];
char oprt[STACKSIZE];
char expression[STACKSIZE];
int ismistake=0;
double chiaus;
void convert();

void pushopnd(double x)
{
	if(topd==STACKSIZE-1) printf("Operend Stack overflow!\n");
	opnd[++topd]=x;
}

void pushoprt(char x)
{
	if(topt==STACKSIZE-1) printf("Operate Stack overflow!\n");
	oprt[++topt]=x;
}

double popopnd()
{
	if(topd==-1) printf("Operend Stack underflow!\n");
	return(opnd[topd--]);
}

char popoprt()
{
	if(topt==-1) printf("Operate Stack underflow!\n");
	return(oprt[topt--]);
}

double getopnd()
{
	if(topd==-1) printf("Operend Stack underflow!\n");
	return(opnd[topd]);
}

char getoprt()
{
	if(topt==-1) printf("Operate Stack underflow!\n");
	return(oprt[topt]);
}

char priority(char c1,char c2)
{
	if((c1=='*'||c1=='/')&&(c2!='(')) return '>';
	if((c1=='+'||c1=='-')&&(c2=='+'||c2=='-'||c2==')'||c2=='\0' )) return '>';
	if((c1=='+'||c1=='-')&&(c2=='*'||c2=='/'||c2=='(')) return '<';
	if((c1=='*'||c1=='/')&&(c2=='(')) return '<';
	if(c1=='('&&c2!=')') return '<';
	if(c1=='('&&c2==')') return '=';
	if(c1==')') return '>';
	if(c1=='\0'&&c2=='\0') return '=';
	if(c1=='\0'&&c2!='\0') return '<';
}

double calculate(double a,char symbol,double b)
{
	double result;
	if(symbol=='+') result=a+b;
	if(symbol=='-') result=a-b;
	if(symbol=='*') result=a*b;
	if(symbol=='/') result=a/b;
	return result;
}

void initexpression()
{
	printf("Please input arithmetic expression, never input a space or a tab.\n");
	printf("Press Enter button to end input:\n");
	scanf(" %s",expression);
}

void btod()
{
	int isfrac=0;
	char *p,s[20];
	double power=1,value=0;
	printf("Please input a binary:");
	scanf(" %s",s);
	p=s;
	while(*p!='\0')
	{
		if(*p=='.') isfrac=1;
		else if(isfrac==0)	
		{
			if(*p=='1')value=value*2+1;
			if(*p=='0')value=value*2;
		}
		else
		{
			power=power*2;
			if(*p=='1')value=value+1.0/power;
		}
		p++;
	}
	chiaus=value;
	printf("The decimal code is:");
	printf("%f\n",value);
}

void otod()
{
	int isfrac=0;
	char *p,s[20];
	double power=1,value=0;
	printf("Please input a octal:");
	scanf(" %s",s);
	p=s;
	while(*p!='\0')
	{
		if(*p=='.') isfrac=1;
		else if(isfrac==0)value=value*8+(double)(*p-48);
		else	
		{
			power=power*8;
			value=value+(double)(*p-48)/power;
		}
		p++;
	}
	chiaus=value;
	printf("The decimal code is:");
	printf("%f\n",value);
}

void htod()
{
	int isfrac=0;
	char *p,s[20];
	double power=1,value=0;
	printf("Please input a hexadecimal:");
	scanf(" %s",s);
	p=s;
	while(*p!='\0')
	{
		if(*p=='.') isfrac=1;
		else if(isfrac==0)
		{
			if(*p>='0'&&*p<='9')value=value*16+(double)(*p-48);
			else if(*p>='A'&&*p<='F')value=value*16+(double)(*p-55);
			else value=value*16+(double)(*p-87);
		}
		else
		{
			power=power*16;
			if(*p>'0'&&*p<='9')value=value+(double)(*p-48)/power;
			else if(*p>'A'&&*p<='F')value=value+(double)(*p-55)/power;
			else value=value+(double)(*p-87)/power;
		}
		p++;
	}
	chiaus=value;
	printf("The decimal code is:");
	printf("%f\n",value);
}

void dtob(double x)
{
	int num,i,a[64];
	long n,abn;
	double m;
	n=(long int)x;
	m=x-(long int)x;
	if(n>=0)abn=n;
	else abn=-n;
	for(i=0;i<16;i++)
	{
		if(abn%2==0) a[i]=0;
		else a[i]=1;
		abn=abn/2;
		if(abn==1) {a[++i]=1;num=i;break;}
	}
	printf("The binary code is:");
	for(i=num;i>=0;i--)
		printf("%d",a[i]);
	if(m!=0)
	{
		for(i=num+1;i<=num+6;i++)
			if(m*2>=1){m=2*m-1;a[i]=1;}
			else {m=m*2;a[i]=0;}
			printf(".");
			for(i=num+1;i<num+7;i++)
				printf("%d",a[i]);
	}
	printf("\n");
}

void dtoo(double x)
{
	int num,i,a[16];
	long n,abn;
	double m;
	n=(long int)x;
	m=x-(long int)x;
	if(n>=0)abn=n;
	else abn=-n;
	for(i=0;i<16;i++)
	{
		if(abn%8==0) a[i]=0;
		else a[i]=abn%8;
		abn=abn/8;
        if(abn==0){num=i;break;}
		if(abn<8) {a[++i]=abn;num=i;break;}
	}
	printf("The octal code is:");
	for(i=num;i>=0;i--)
		printf("%d",a[i]);
	if(m!=0)
	{
		for(i=num+1;i<=num+5;i++)
			if(m*8>=1){a[i]=(int)(8*m);m=8*m-(int)(8*m);}
			else {m=m*8;a[i]=0;}
			printf(".");
			for(i=num+1;i<num+5;i++)
				printf("%d",a[i]);
	}
	printf("\n");
}

void dtoh(double x)
{
	int num,i;
	long n,abn,t;
	double m;
	char a[16];
	n=(long int)x;
	m=x-(long int)x;
	if(n>=0)abn=n;
	else abn=-n;
	for(i=0;i<16;i++)
	{
		t=abn%16;
		if(t==0) a[i]='0';
		else if(t>=0&&t<=9)a[i]=(char)(abn%16+48);
		else switch(t)
		{
		case 10:a[i]='a';break;
		case 11:a[i]='b';break;
		case 12:a[i]='c';break;
		case 13:a[i]='b';break;
		case 14:a[i]='e';break;
		case 15:a[i]='f';
		}
		abn=abn/16;
		if(abn==0){num=i;break;}
		if(abn<16)
		{
			i++;
			if(abn>0&&abn<=9)a[i]=(char)(abn%16+48);
			else switch(abn)
			{
		case 10:a[i]='a';break;
		case 11:a[i]='b';break;
		case 12:a[i]='c';break;
		case 13:a[i]='b';break;
		case 14:a[i]='e';break;
		case 15:a[i]='f';
			}
			num=i;
			break;
		}
	}

	printf("The hexadecimal code is:");
	for(i=num;i>=0;i--)
		printf("%c",a[i]);

	if(m!=0)
	{
		for(i=num+1;i<=num+4;i++)
			if(m*16>=1)
			{
				t=(int)(16*m);
				if(abn>=0&&t<=9)a[i]=(char)(t+48);
				else switch(abn)
				{
		case 10:a[i]='a';break;
		case 11:a[i]='b';break;
		case 12:a[i]='c';break;
		case 13:a[i]='b';break;
		case 14:a[i]='e';break;
		case 15:a[i]='f';
				}
				m=16*m-(int)(16*m);
			}
			else {m=m*16;a[i]=0;}
			printf(".");
			for(i=num+1;i<num+3;i++)
				printf("%c",a[i]);
	}
	printf("\n");
}

double dtod(char s[])
{
	int isfrac=0;
	char *p;
	double power=1,value=0;
	p=s;
	while(*p!='\0')
	{
		if(*p=='.') isfrac=1;
		else if(isfrac==0)value=value*10+(double)(*p-48);
		else
		{
			power=power*10;
			value=value+(double)(*p-48)/power;
		}
		p++;
	}
	return(value);
}

int judge(char a,char b)
{
	if((a=='+'||a=='-'||a=='*'||a=='/'||a=='.')&&(b=='+'||b=='-'||b=='*'||b=='/'||b=='.'||b==')'||b=='\0'))return 1;
	if((a=='(')&&(b==')'||b=='*'||b=='/'||b=='.'||b=='\0'))return 2;
	if((a==')')&&(b=='.'||b=='('||(b>='0'&&b<='9')))return 3;
	if(a>='0'&&a<='9'&&b=='(')return 4;
	else return 0;
}

void check()
{
	int i,j=0,a=0,b=0,lparenth=0,rparenth=0;
	char c,sign1,sign2;
	c=expression[0];
	sign1=c;
	if(c>='0'&&c<='9'||c>='('&&c<='+'||c=='.'||c=='-'||c=='/');
	else 	{ismistake=1;printf("Error 1! Invalid charactor!\n");goto end;} // Error 1
	if(c=='(')lparenth++;
	if(c=='.'||c==')'||c=='*'||c=='/')
	{ismistake=1;printf("Error 2! The first character cannot be '.',')','*','/'.\n");goto end;}// Error 2
	for(i=1;c!='\0';i++)
	{
		c=expression[i];
		if(c>='0'&&c<='9'||c>='('&&c<='+'||c=='.'||c=='-'||c=='/'||c=='\0');
		else	{ismistake=1;printf("Error 1! Invalid charactor!\n");goto end;}
		sign2=c;
		j=judge(sign1,sign2);
		switch(j)
		{
		case 0:
			if(c=='.'&&b==0) a=1;
			if(a==1&&c>='0'&&c<='9') b=1;
			if(b==1&&c=='.')
			{ismistake=1;printf("Error 3! more than one dots in a number.\n");goto end;}// Error 3
			if(c=='+'||c=='-'||c=='*'||c=='/'||c==')') {a=0;b=0;}
			if(c=='(')lparenth++;
			if(c==')')rparenth++;
			break;
		case 1:
			printf("Error 4! '+','-','*','/','.' cannot be put together or at last or before ')'.\n");// Error 4
			ismistake=1;goto end;
		case 2:
			printf("Error 5! '(' cannot be put at last or followed by ')','*','/','.'.\n");// Error 5
			ismistake=1;goto end;
		case 3:
			printf("Error 6! ')' cannot be followed by numbers and '('.\n");// Error 6
			ismistake=1;goto end;
		case 4:
			printf("Error 7! Numbers cannot be followed by '('.\n");// Error 7
			ismistake=1;goto end;
		}
		sign1=sign2;
	}
	if(lparenth!=rparenth){ismistake=1;printf("Error 8! The parenthesis are not matched\n");}// Error 8
end:
	if(ismistake==1)
		printf("You should input arithmetic expression again!\n");
}

double evaluate(void)
{
	double a,b,gd,tempresult;//value,
	char c,symbol,gt,temp[20];
	int i=0,isfigure=0,issigned=0;
	int j=0;
	double number;
	pushoprt('\0');
	c=expression[0];
	if(c=='+')c=expression[i++];
	if(c=='-')pushopnd(0);
	gt=getoprt();
	while(c!='\0'||gt!='\0')
	{
		if(c>='0'&&c<='9'||c=='.')
		{
			isfigure=1;issigned=0;
			temp[j++]=c;
			c=expression[++i];
		}
		else 
		{
			if(isfigure==1){temp[j]='\0';number=dtod(temp);pushopnd(number);}
			isfigure=0;j=0;
			if(c=='(')issigned=1;
			if(c=='-'&&issigned==1)pushopnd(0);
			if(c=='+'&&issigned==1)i++;
			gt=getoprt();
			switch(priority(gt,c))
			{
			case'<':
				{pushoprt(c);c=expression[++i];break;}
			case'=':
				{symbol=popoprt();c=expression[++i];break;}
			case'>':
				{symbol=popoprt();b=popopnd();a=popopnd();
				tempresult=calculate(a,symbol,b);
				pushopnd(tempresult);break;}
			}
		}
		gt=getoprt();
	}
	gd=getopnd();
	return(gd);
}

void menu()
{
	printf("  *****************************************************************\n");
	printf("  *                          Command Menu                         *\n");
	printf("  *  1. to open Command menu                           [menu]     *\n");
	printf("  *  2. to calculate value of arithmetic expression    [run]      *\n");
	printf("  *  3. to learn more details about this program       [more]     *\n");
	printf("  *  4. to quit this program                           [quit]     *\n");
	printf("  *  5. to clean the screen                            [clean]    *\n");
	printf("  *  6. to convert number base(default:decimal)        [convert]  *\n");
	printf("  *  7. to learn how to use the program                [help]     *\n");
	printf("  *                                                               *\n");
	printf("  *****************************************************************\n");
}

void thanks()
{
	printf("   *=================Thanks for using my program!================*\n");
	printf("   *     If you have some suggestions, just contact with me.     *\n");
	printf("   *                 telephone : 00000000                        *\n");
	printf("   *                 QQ : 27512609                               *\n");
	printf("   *                 e-mail : edward.li@163.com                  *\n");
	printf("   *==================My sincere thanks to you!==================*\n");
}

void help()
{
	system("type help.txt | more");
}

void run()
{
	double result;
loop:
	initexpression();
	check();
	if(ismistake==0)
	{
		result=evaluate();
		printf("=========================\n");
		printf("*  value = %e  *\n",result);
		printf("=========================\n");
	}
	else {ismistake=0;goto loop;}
}

void main()
{
	char k,key[8];
loop1:
	menu();
	printf("Your Command:");
	scanf(" %s",key);
	while(strcmp(key,"run")!=0)
	{
		if(strcmp(key,"menu")==0) menu();
		else if(strcmp(key,"help")==0) help();
		else if(strcmp(key,"more")==0) system("type arithmetic.txt | more");
		else if(strcmp(key,"convert")==0)convert();
		else if(strcmp(key,"clean")==0)system("cls");
		else if(strcmp(key,"quit")==0) {thanks();exit(0);}
		else printf("Wrong Command!\n");
		printf("Your Command:");
		scanf(" %s",key);
	}
loop2:
	run();
	printf("Continue to calculate or back to command menu?\n");
	printf("Continue--->'C',Back--->B (C/B)?");
loop3:
	scanf(" %c",&k);
	if(k=='c'||k=='C'){ismistake=0;goto loop2;}
	else if(k=='b'||k=='B')goto loop1;
	else {printf("Wrong Command!\nInput again(C/B)?"); goto loop3;}
}

void convert()
{
	int choice;
	char k;
	double dec;
	float deci;
loop1:
	printf("  *****************************************************************\n");
	printf("  *                          Convert Menu                         *\n");
	printf("  *          <Binary>                          <Octal>            *\n");
	printf("  *  [1]. binary to octal            [4]. octal to binary         *\n");
	printf("  *  [2]. binary to decimal          [5]. octal to decimal        *\n");
	printf("  *  [3]. binary to hexadecimal      [6]. octal to hexadecimal    *\n");
	printf("  *                                                               *\n");
	printf("  *          <Decimal>                       <Hexadecimal>        *\n");
	printf("  *  [7]. decimal to binary          [10].hexadecimal to binary   *\n");
	printf("  *  [8]. decimal to octal           [11].hexadecimal to octal    *\n");
	printf("  *  [9]. decimal to hexadecimal     [12].hexadecimal to decimal  *\n");
	printf("  *                                                               *\n");
	printf("  *****************************************************************\n");
	printf("Please enter your choice:[ ]\b\b");
loop2:
	scanf(" %d",&choice);
	if(choice>0&&choice<13);
	else {printf("Invalid choice! choose again:[ ]\b\b");goto loop2;}
loop3:
	switch(choice)
	{
	case 1:btod();dtoo(chiaus);break;
	case 2:btod();break;
	case 3:btod();dtoh(chiaus);break;
	case 4:otod();dtob(chiaus);break;
	case 5:otod();break;
	case 6:otod();dtoh(chiaus);break;
	case 7: printf("Please input a decimal:");
		scanf(" %f",&deci);
		dec=(double)deci;
		dtob(dec);break;
	case 8: printf("Please input a decimal:");
		scanf(" %f",&deci);
        dec=(double)deci;
		dtoo(dec);break;
	case 9: printf("Please input a decimal:");
		scanf(" %f",&deci);
        dec=(double)deci;
		dtoh(dec);break;
	case 10:htod();dtob(chiaus);break;
	case 11:htod();dtoo(chiaus);break;
	case 12:htod();break;
	}
	printf("Continue to convert or Select a new mode or Back to command menu?\n");
	printf("Continue--->C,Select--->S,Back--->B (C/S/B)?");
loop4:
	scanf(" %c",&k);
	if(k=='c'||k=='C')goto loop3;
	else if(k=='b'||k=='B')main();
	else if(k=='s'||k=='S')goto loop1;
	else {printf("Wrong Command!\nInput again(C/S/B)?"); goto loop4;}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久蜜桃精品| 青青草97国产精品免费观看无弹窗版| 久久久亚洲欧洲日产国码αv| 欧美一区二区视频在线观看2022| 欧美怡红院视频| 欧美日韩一区二区在线观看| 色婷婷亚洲婷婷| 91丝袜高跟美女视频| 色哟哟在线观看一区二区三区| 色一情一乱一乱一91av| 欧美在线色视频| 欧美精品乱码久久久久久 | 欧美日韩一区二区三区四区 | 97精品久久久久中文字幕| 不卡的av电影在线观看| 91美女在线观看| 日本高清不卡在线观看| 欧美日韩免费电影| 亚洲国产一区二区三区| 午夜欧美2019年伦理| 石原莉奈在线亚洲二区| 麻豆免费精品视频| 韩日av一区二区| 成人午夜激情影院| 色婷婷综合久久久久中文| 欧美猛男超大videosgay| 日韩三级.com| 欧美激情在线一区二区| 亚洲欧美激情小说另类| 亚洲高清免费视频| 美女久久久精品| 不卡电影免费在线播放一区| 欧美在线视频全部完| 精品少妇一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 中文字幕一区二| 无码av免费一区二区三区试看 | eeuss鲁片一区二区三区| 在线看国产一区二区| 日韩亚洲欧美一区二区三区| 国产精品色噜噜| 色呦呦网站一区| 精品日韩一区二区三区| 国产精品久久久久久久久图文区| 亚洲综合在线第一页| 久久成人免费日本黄色| 一本一道久久a久久精品| 欧美一区二区三区四区视频 | 精品亚洲免费视频| 从欧美一区二区三区| 欧美日韩日本视频| 中文字幕欧美激情| 丝袜亚洲另类欧美| 成人美女在线观看| 日韩午夜电影在线观看| 日韩一区欧美一区| 久久不见久久见免费视频7| 97久久久精品综合88久久| 日韩三级在线免费观看| 樱花草国产18久久久久| 国模冰冰炮一区二区| 欧美性生活一区| 国产精品麻豆欧美日韩ww| 免费看日韩精品| 欧美在线一二三四区| 国产精品久久久久国产精品日日| 免费在线观看不卡| 欧美视频在线观看一区| 日本一区二区三区电影| 91精品国产一区二区三区香蕉| 国产精品久久久久久久久免费相片 | av在线播放一区二区三区| 日韩免费高清视频| 亚洲成人三级小说| gogogo免费视频观看亚洲一| 亚洲精品一区二区三区精华液| 亚洲一二三区不卡| 91最新地址在线播放| 久久久精品日韩欧美| 免费精品视频在线| 欧美三级午夜理伦三级中视频| 国产精品欧美一区二区三区| 狠狠色综合播放一区二区| 91麻豆精品国产91久久久久久| 亚洲视频1区2区| 99热在这里有精品免费| 欧美激情一区二区三区不卡 | 欧美大片一区二区| 丝袜美腿亚洲综合| 欧美日韩精品一区二区在线播放| 综合av第一页| 99精品久久只有精品| 国产精品私人自拍| 国产丶欧美丶日本不卡视频| 2021久久国产精品不只是精品| 青娱乐精品视频在线| 91精品国产综合久久精品| 午夜不卡在线视频| 7777精品伊人久久久大香线蕉超级流畅| 亚洲视频香蕉人妖| 中文字幕一区日韩精品欧美| 国产成人精品影院| 久久久久久黄色| 国模一区二区三区白浆| 26uuu亚洲婷婷狠狠天堂| 激情综合色综合久久| 2023国产精品| 国v精品久久久网| 国产精品伦一区二区三级视频| 成人三级伦理片| 综合激情成人伊人| 在线日韩av片| 亚洲chinese男男1069| 欧美美女直播网站| 看电影不卡的网站| 久久九九久久九九| jlzzjlzz亚洲女人18| 亚洲精选在线视频| 欧美日韩一区二区三区四区 | www.欧美色图| 亚洲精品中文字幕在线观看| 欧美午夜精品免费| 全部av―极品视觉盛宴亚洲| 久久一夜天堂av一区二区三区| 国产盗摄一区二区三区| 亚洲三级在线观看| 欧美日本视频在线| 久久不见久久见免费视频1| 久久久精品国产免费观看同学| 成人午夜在线视频| 亚洲综合视频网| 欧美大片一区二区| 不卡的av电影| 日韩福利视频导航| 久久精品亚洲精品国产欧美| 91视频免费看| 日本最新不卡在线| 国产日产欧美一区| 欧美中文字幕亚洲一区二区va在线 | 日本一区二区免费在线观看视频 | 久久中文娱乐网| 91原创在线视频| 欧美日韩精品电影| 国产精品亚洲人在线观看| 亚洲精品水蜜桃| 日韩精品一区二区在线| eeuss鲁片一区二区三区| 五月天一区二区| 国产精品丝袜黑色高跟| 欧美视频你懂的| 国产xxx精品视频大全| 亚洲一区二区在线免费看| 亚洲精品在线观看网站| 在线精品视频一区二区| 国产精品66部| 午夜精彩视频在线观看不卡| 国产欧美1区2区3区| 9191国产精品| av激情综合网| 精品一区二区三区在线视频| 一区二区三区在线免费视频| 亚洲精品一区二区在线观看| 欧美性猛交xxxxxx富婆| 成人免费黄色大片| 麻豆精品新av中文字幕| 一区二区三区中文字幕| 久久欧美中文字幕| 在线播放一区二区三区| 99国产精品久久久久久久久久| 精品亚洲国内自在自线福利| 一区二区久久久久| 国产午夜一区二区三区| 在线电影一区二区三区| 一本久道中文字幕精品亚洲嫩| 国产精品一区二区三区99| 在线观看欧美精品| 日韩国产欧美在线观看| 国产精品久久久一本精品| 亚洲不卡av一区二区三区| 久久久久99精品国产片| 911精品国产一区二区在线| 色综合天天视频在线观看| 国产成人av电影在线播放| 久久9热精品视频| 石原莉奈在线亚洲三区| 亚洲一区二区四区蜜桃| 成人欧美一区二区三区1314 | 日本午夜精品一区二区三区电影| 亚洲啪啪综合av一区二区三区| 国产亲近乱来精品视频| 精品国产麻豆免费人成网站| 欧美另类久久久品| 欧美亚洲另类激情小说| 色94色欧美sute亚洲13| 99久久er热在这里只有精品66| 丁香激情综合国产| 国产一区二区美女诱惑| 九色综合狠狠综合久久| 乱一区二区av| 久久国产综合精品|