這次的程式設計作業我把需求分為輸入,漢字轉為數字,計算,數字轉為漢字並輸出4個部分
而其中最重要也是最難的部分是漢字轉為數字階段,我先在開始開闢兩個字元陣列用來存放漢字的零至十和會輸入的指令
同時將零至十和陣列位址做好一一對應以方便後續查詢
char key[6][20]=;
char num[11][4]=;
以及做好乙個報錯函式來讓我不用每次都要打那段話(斜眼笑)
void error()//輸入報錯情況
然後就是漢字轉數字階段,我用了這麼一大段**來處理轉換,同時若發現輸入的中文數字不符合規範,將返回(-1)來供程式進行報錯與重新輸入
int change(char a[20])
}if(n==4)//11-20以及10的倍數
for(i=2;i<4;i++)
if(strcmp(x,"十")==0)
}else if(strcmp(y,"十")==0)
}else return -1;
}else if(n==6)//幾十幾
if(strcmp(x,num[10])!=0)
return -1;
for(i=0;i<2;i++)
for(i=4;i<6;i++)
for(i=0;i<=11;i++)
if (i==11)
return -1;
}for(i=0;i<=11;i++)
if (i==11)
return -1;
}return sum;
}else return -1;
}//文字轉換數字
而在輸入階段,我也採用了分支進行識別處理,以確保輸入正確性,但同時這樣還是無法避免使用者千奇百怪的輸入方式。。。(是否要配乙個說明書。。。)(想到乙個程式設計師設計酒吧的笑話)
while(1)
}else error();
}else
}else if(strcmp(a,key[1])==0&&strcmp(b,key[4])==0)//減少
}else if(strcmp(a,key[5])==0&&strcmp(b,key[1])==0)//輸出
else }}
}
通過flag變數我能確定程式該執行的是初始化階段還是後續的計算階段,同時在後續計算階段,我選擇先讀取輸入的兩個詞語,已確定輸入的是計算還是輸出指令,同時在計算階段,若發現輸入的不合規範這可以吸收掉輸入的中文數字部分,但似乎還是有考慮不全的地方。。。
然後是輸出部分,採用下列輸出進行處理,處理了小於0和超過100的報錯,通過x、y兩個變數分別寄存十位和個位的數字,並通過不同的判斷標準來輸出符合中文語法的結果。
void print(int n)//輸出
else if(x!=0&&y==0)//幾十
else if(x==1&&y!=0)//十幾
else//幾十幾} }
以下是整體程式
#include#includechar key[6][20]=;
char num[11][4]=;
int change(char a[20]);//轉換
void error();
void print(int n);
int main(),b[20]=,c[20]=,d[20]=;
while(1)
}else error();
}else
}else if(strcmp(a,key[1])==0&&strcmp(b,key[4])==0)//減少
}else if(strcmp(a,key[5])==0&&strcmp(b,key[1])==0)//輸出
else }}
}void error()//輸入報錯情況
int change(char a[20])
}if(n==4)//11-20以及10的倍數
for(i=2;i<4;i++)
if(strcmp(x,"十")==0)
}else if(strcmp(y,"十")==0)
}else return -1;
}else if(n==6)//幾十幾
if(strcmp(x,num[10])!=0)
return -1;
for(i=0;i<2;i++)
for(i=4;i<6;i++)
for(i=0;i<=11;i++)
if (i==11)
return -1;
}for(i=0;i<=11;i++)
if (i==11)
return -1;
}return sum;
}else return -1;
}//文字轉換數字
void print(int n)//輸出
else if(x!=0&&y==0)//幾十
else if(x==1&&y!=0)//十幾
else//幾十幾} }
然後是執行結果展示:
1、題目給的示例
2、結果為「十幾」的輸出
3、輸入有「幾十」輸出為「幾十幾」
4、難度大一些的玩意
5、溢位報錯
6、輸入命令報錯
7、輸入中文數字不合規範報錯
寒假 作業2
大話物聯網 讀書心得 物聯網是繼計算機 網際網路與移動通訊之後的世界資訊產業的第三次浪潮。但是對於我這種連計算機都還不太懂的菜鳥新手和科技無知者來說,物聯網 三個字真的是乙個新興詞彙。在之前我連 物聯網 三個字好像都不太聽到過,更加不可能了解。殊不知我已經和這個世界如此的脫軌,已經被時代遠遠地落在了...
寒假作業9
1.請寫出網頁的基本標籤 作用和語法。basic tags 基 本 標 籤 creates an html document 創 建 一 個html 文 檔sets off the title and other information that isn t displayed on the web...
寒假作業4
今天所敲的 public class daang public class daang2 菜品名稱 double prices new double 菜品單價 int praisenums new int 3 點讚數 建立訂單物件 daang oset new daang 初始化兩條訂單 publi...