void init(){ int sockfd = socket(AF_INET,SOCK_STREAM,0); judge1(sockfd,socket); printf("socket创建成功\n"); struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = inet_addr(ip); int res = connect(sockfd,(struct sockaddr*)&addr,sizeof(addr)); judge1(res,connect); printf("连接成功\n"); }
void chooseMode() { int mode; scanf_s("%d", &mode); switch (mode) { case 1: judge1(); break; case 2: judge2(); break; case 3: judge3(); break; case 4: findBiggest1(); break; case 5: findBiggest2(); break; case 6: findBiggest3(); break; default: break; } }
int main(){ atexit(shut); init(); sendName(); pthread_t tid; //pthread_create(&tid,NULL,recvMsg,&sockfd); while(1){ char buf[100]; printf("请输入:"); scanf("%s",buf); if(!strcmp(buf,"bye")) break; int res = send(sockfd,buf,strlen(buf),0); judge1(res,send); printf("成功向服务器发送数据%s(%d)\n",buf,res); } return 0; }
int main() { int i,j,k,n,x,y,now; while(1) { scanf("%d",&n); if(n==0) break; memset(a,-1,sizeof(a)); now=1; for(i=0;i<n;i++) { scanf("%d%d%d",&x,&y,&k); if(k) now--; else now++; a[x][y]=k; } if(now!=0&&now!=1) { printf("Invalid.\n"); continue; } if(n<=5) { printf("Cannot win in 3 moves.\n"); continue; } if(judge1(now)) printf("Place %s at (%d,%d) to win in 1 move.\n",b[now],nx,ny); else if(judge2(now)==2) printf("Lose in 2 moves.\n"); else if(judge3(now)) printf("Place %s at (%d,%d) to win in 3 moves.\n",b[now],nx,ny); else printf("Cannot win in 3 moves.\n"); } return 0; }
void search( char *str) { int a[21]; int b[21]; char shit[21][20]; int n=strlen(str); int i,j,k; int where=0; int m=0; int temp=0; memset(a,0,21); memset(b,0,21); for(i=0;i<n;i++) { if(str[i]=='?') { m++;a[m]=1;b[m]=i; } if(str[i]=='*') { m++;a[m]=2;b[m]=i; } } b[0]=-1; a[0]=1; b[m+1]=n; a[m+1]=2; for(i=0;i<=m;i++) { for(j=b[i]+1;j<b[i+1];j++) { shit[i][j-b[i]-1]=str[j]; } shit[i][j-b[i]-1]=0; } for(i=0;i<entries;i++) { where=0; for(k=0;k<=m;k++) { if(n>strlen(pdic[i].entry)) break; if(a[k]==2) { where=judge2(shit[k],pdic[i].entry,where)+1; if(where==0) break; if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break; } if(a[k]==1) { where=judge1(shit[k],pdic[i].entry,where)+1; if(where==0) break; if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break; } } if(k==m+1) count++; } if(count==0) return ; list=(char (*)[20]) malloc(count*20); for(i=0;i<entries;i++) { where=0; for(k=0;k<=m;k++) { if(n>strlen(pdic[i].entry)) break; if(a[k]==2) { where=judge2(shit[k],pdic[i].entry,where)+1; if(where==0) break; if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break; } if(a[k]==1) { where=judge1(shit[k],pdic[i].entry,where)+1; if(where==0) break; if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break; } } if(k==m+1) strcpy(list[temp++],pdic[i].entry); } }