数字逻辑最终正确版

#include <stdlib.h>
char GetChar();

void main()
{
	char c='5';
	char A='5',B='5',C='5',D='5',E='5',F='5';
	int z=0;
	for(;;)//A cirlce
	{
	
		c=GetChar();
		switch(c)//A
		{
		case '1':
			printf("%d",z);//output z
			break;
		case '0':
			printf("%d",z);
			for(;;)//B cirle 
			{
				//printf("for start\n");
				c=GetChar();
				//printf("c=%c\n",c);
				printf("%d",z);
				switch(c)//B
				{
				case '0':
					//output z
					break;
				case '1':
					c=GetChar();
					
					switch(c)//C
					{
					case '1':
						printf("%d",z);//output z
						C='1';
						break;
					case '0':
						printf("%d",z);
						for(;;)//D circle
						{
							c=GetChar();
							
							switch(c)//D
							{
							case '0':
								printf("%d",z);//output z
								B='0';
								break;
							case '1':
								c=GetChar();//E
								printf("%d",z);
								switch(c)
								{

								case '0':
									printf("%d",z);//output z
									E='0';
									break;
								case '1':
									printf("%d",z);
									c=GetChar();//F
									switch(c)
									{
									case '0':
										z=1;
										printf("%d",z);//output z
										z=0;
									//	printf("there is 010110.\n");
										F='0';
										break;
									case '1':
										F='1';
										printf("%d",z);
										break;
									}//F switch end
									//if(F=='0'|F=='1')
									//	break;
									break;
								}//E switch end
								if(E=='0'||F=='0'||F=='1')
								{
									break;
								}
								
							}//D switch end
							if(B=='0'||F=='0'||F=='1')
							{
								break;
							}
						}//D cirlcle end
						//printf("yiyi\n");
						if(B=='0'||F=='0'||F=='1')
						{
							break;
						}
					}//C switch end
					if(C=='1'||B=='0'||F=='0'||F=='1')
					{
						break;
					}
					
				}//B switch end
				if(C=='1'||F=='1')
				{
					break;
				}
			}//B circle end
			if(C=='1'||F=='1')
			{
				break;
			}
		}//A  switch end
	//	printf("circle 1");
	}//A circle end
	return 0;
}

char GetChar()
{
	char ch;
	while(scanf("%c",&ch)==1)
	{
		if(ch!='\n'&&ch!=' '&&ch!='\t')
		{
			break;
		}
	}
	return ch; 
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值