# Lab1 參考解答 # Calculator > Author: 111550107 ```c= #include<stdio.h> int main(){ int n1, n2; char operater; scanf("%d %c %d", &n1, &operater, &n2); if(operater == '+'){ printf("%d", n1 + n2); } else if(operater == '-'){ printf("%d", n1 - n2); } else if(operater == '*'){ printf("%d", n1 * n2); } else if(operater == '/' && n2 == 0){ printf("This calculator couldn't handle."); } else { printf("%d", n1 / n2); } return 0; } ``` # Tic-tac-toe > Author: 111550033 ```c= #include <stdio.h> #define F(i,n) FF(i,0,(n)) #define F1(i,n) FF(i,1,(n)+1) #define FF(i,n,m) for(int i=n;i<(m);++i) #define rF(i,a,b) for(int i=a;i>=b;--i) int a[3][3]; char c[4]="-OX"; int main(){ int x,cur=0; while(scanf("%d",&x)!=EOF){ int X=x/3,Y=x%3; a[X][Y]=cur+1; F(i,3)F(j,3){ printf("%c ",c[a[i][j]]); if(j==2) putchar('\n'); } putchar('\n'); F(i,3){ if(a[i][0]&&a[i][0]==a[i][1]&&a[i][1]==a[i][2]) { printf("%c is the winner!\n",(!cur?'O':'X')); return 0; } } F(i,3){ if(a[0][i]&&a[0][i]==a[1][i]&&a[1][i]==a[2][i]) { printf("%c is the winner!\n",(!cur?'O':'X')); return 0; } } if(a[0][0]&&a[0][0]==a[1][1]&&a[1][1]==a[2][2]){ printf("%c is the winner!\n",(!cur?'O':'X')); return 0; } if(a[0][2]&&a[0][2]==a[1][1]&&a[1][1]==a[2][0]){ printf("%c is the winner!\n",(!cur?'O':'X')); return 0; } cur=!cur; } printf("Here comes a tie game.\n"); } ```