在本章的學習中,我瞭解到了指針的原理與應用,指針從本質上講就是存放變量地址的一個變量,在邏輯上是獨立的,它能夠被改變,包括其所指向的地址的改變和其指向的地址中所存放的數據的改變。還學到了如何利用地址,找到它指向的存在電腦存儲器中另外一個地方的值,也學習瞭如何把指針和函數結合使用。可是指針的使用比較複雜,在使用的過程當中容易漏寫錯寫,好比在使用函數時容易忘記&、容易把(n)++或++n寫成*n++,++優先級更高,致使不是對n所指內容加一。還有字符串的結束標誌‘\0’也容易忘記加上。因此,平時對指針的練習就很重要,否則到考試的時候,真的容易忘記怎麼使用,卡在題目半中間。算法
125數組
本題要求編寫一個解密藏尾詩的程序。函數
定義二維數組poem[4][20],字符數組end[10]; 定義 i,t; for i=0 to i=3 do t=strlen(poem[i]); end[2*i]=poem[i][t-2]; end[2*i+1]=poem[i][t-1]; 結束循環 end[2*i]='\0'; //結束符號 輸出end; end
題目:實現小學四則運算。
學習
定義整型數n,p; 定義字符x,y,op,temp; srand(time(NULL)); x=(int(rand()%10)+'0'); //生成數字字符 strcat(A,&x); A[1]='\0'; char a[]={'+','-','*','/'}; //生成運算符 n=rand()%4; op=a[n]; temp等於op; strcat(A,&op); A[2]='\0'; for p=0 to flag!=1 do y=(int(rand()%10)+'0'); if temp等於除號且y等於0,進入下一個循環; if temp等於除號且y不等於0,flag=1; if temp不等於除號 flag=1; strcat(A,&y); A[3]='='; A[4]='\0'; return A;
定義整型數n,p,q; 定義字符x,y,op; for q=0 to q<2 do for p=0 to p=1 do{ x=(int(rand()%10)+'0');//生成數字字符 strcat(B,&x); B[p+q*3+1]='\0'; } char a[]={'+','-'}; //生成運算符 n=rand()%2; op=a[n]; strcat(B,&op); B[3+q*3]='\0'; for p=0 to p=1 do //生成數字字符 { y=(int(rand()%10)+'0'); strcat(B,&y); B[7+p]='\0'; } B[8]='='; B[9]='\0'; return B;
定義整型數n,p,q; 定義字符x,y,op; for q=0 to q<2 do for p=0 to p=2 do x=(int(rand()%10)+'0');//生成數字字符 strcat(C,&x); C[p+q*4+1]='\0'; char a[]={'+','-'}; //生成運算符 n=rand()%2; op=a[n]; strcat(C,&op); C[4+q*4]='\0'; for p=0 to p=2 do //生成數字字符 y=(int(rand()%10)+'0'); strcat(C,&y); C[9+p]='\0'; C[11]='='; C[12]='\0'; return C;
int ComputeExp(char *exp) { 定義整型數 len,n=0; 定義整型數 i,flag=0; 定義字符 op; 定義浮點數 m=0,sum=0; len等於strlen(exp); for i=len-1 to i=0 do if exp[i]<='9'而且exp[i]>='0' then m=pow(10,n)*(exp[i]-'0')+m; n++; if exp[i]=='+'或者exp[i]=='-' then flag=2; if exp[i]等於加號 sum+=m; else sum-=m; n=0; m=0; if flag等於1 或 exp[i]等於除號 或 exp[i]等於乘號 then flag++; if flag等於1 then op=exp[i]; sum=m; m=0; n=0; else if op等於乘號 then sum=m*sum; if op等於除號 then sum=m/sum; return sum; if i等於0 then sum=sum+m; return sum;
1 由於當時搞不清如何把隨機算式用字符串表示,因此乾脆寫了三個函數分別生成三個算式字符串,比較麻煩,仍是要多看看別人的代碼學習一下。指針
2 在寫計算正確答案的函數時花了很多時間,老是小錯誤不斷,但最後總算也能運行正確。code
3 總的來講,指針這塊內容沒學好,代碼沒有作到簡化,應該多向他人學習。blog