⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1462s word crosses.cpp

📁 威士忌的HDU题解.大概有260多题的源码。对于学习非常有好处。
💻 CPP
字号:
#include<stdio.h>
char line[100];
char *p1,*p2,*p3,*p4;
char *c1,*c2,*c3;
int ap1,ap2,ap3,ap4,pnum;
int i,j;

int main() 
{
	gets(line);
	pnum=1;
	while (line[0]!='#') 
	{
		for (c1=line; *c1==' '; c1++) 
			*c1=0;
		p1=c1;
		for (; *c1!=' '; c1++);
		for (; *c1==' '; c1++) 
			*c1=0;
		p2=c1;
		for (; *c1!=' '; c1++);
		for (; *c1==' '; c1++) 
			*c1=0;
		p3=c1;
		for (; *c1!=' '; c1++);
		for (; *c1==' '; c1++) 
			*c1=0;
		p4=c1;
		for (; (*c1!=' ')&&*c1; c1++);
		*c1=0;
		for (c1=p1,c2=p2,ap1=ap2=0; (*c1!=*c2)&&(*c1); (*c1!=*c2) ? c1++, ap1++ : 0)
		for (c2=p2,ap2=0; (*c1!=*c2)&&(*c2); c2++,ap2++);
		for (c1=p3,c2=p4,ap3=ap4=0; (*c1!=*c2)&&(*c1); (*c1!=*c2) ? c1++, ap3++ : 0)
		for (c2=p4,ap4=0; (*c1!=*c2)&&(*c2); c2++,ap4++);
		if (pnum) 
			pnum=0; 
		else 
			printf("\n");
			
		if (p1[ap1]&&p3[ap3]) 
		{
			for (i=((ap2>ap4)?-ap2:-ap4); i<0; i++) 
			{
				for (j=0; j<ap1; j++) printf(" ");
				if (ap2+i>=0) printf("%c",p2[ap2+i]); else printf(" ");
				if (ap4+i>=0) 
				{
					for (c1=&p1[ap1+1]; *c1; c1++) printf(" ");
					printf("   ");
					for (j=0; j<ap3; j++) printf(" ");
					printf("%c",p4[ap4+i]);
				}
				printf("\n");
			}
			printf("%s   %s\n",p1,p3);
			
			for (c1=&p2[ap2+1],c2=&p4[ap4+1]; *c1||*c2;) 
			{
				for (j=0; j<ap1; j++) printf(" ");
				if (*c1) printf("%c",*(c1++)); else printf(" ");
				if (*c2) 
				{
					for (c3=&p1[ap1+1]; *c3; c3++) printf(" ");
					printf("   ");
					for (j=0; j<ap3; j++) printf(" ");
					printf("%c",*(c2++));
				}
				printf("\n");
			}
		}
		else
			printf("Unable to make two crosses\n");
		gets(line);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -