建構函式經典例題 統計字元

2021-09-22 08:17:31 字數 1996 閱讀 6854

原題如下:

本題要求編寫程式,輸入10個字元,統計其中英文本母、空格或回車、數字字元和其他字元的個數。

輸入格式:

輸入為10個字元。最後乙個回車表示輸入結束,不算在內。

輸出格式:

在一行內按照

letter = 英文本母個數, blank = 空格或回車個數, digit = 數字字元個數, other = 其他字元個數

的格式輸出。

輸入樣例:

az &

09 az

輸出樣例:

letter = 4, blank = 3, digit = 2, other = 1

下面是我的**

#includevoid countzf1(char *a);

void countzf2();

void countzf3(char *a);

int a,b,c,d,i;

main()

void countzf1(char *a)

if(a+b+c+d==10)

printf("letter = %d, blank = %d, digit = %d, other = %d",a,b,c,d);

else if(a+b+c+d<10)

countzf2();

}void countzf2()

void countzf3(char *a)

b=b+1;

if(a+b+c+d==10)

printf("letter = %d, blank = %d, digit = %d, other = %d",a,b,c,d);

else if(a+b+c+d<10)

countzf2();

}

說明:

①關鍵在於輸入時,無論用gets還是scanf("%s",…)只要敲下回車鍵,則本次錄入就結束

②所以在第乙個函式裡:

void countzf1(char *a)

if(a+b+c+d==10)

printf("letter = %d, blank = %d, digit = %d, other = %d",a,b,c,d);

else if(a+b+c+d<10)

countzf2();

}

(1)這是第一種情況,沒有輸入回車鍵的情況,b的值只代表空格鍵的個數;可以將本函式與countzf3比較,主要是有沒有b+1。

(2)如果每一次輸入的一組字元:大寫字母+空格+數字+其他 的總和達到了10,則最後乙個輸入的回車鍵不計入b 中。

(3)反之,則有第二種情況,在countzf3函式中實現,將上一次輸入的回車鍵計入b中,所以countzf3函式中有b=b+1; 因為每一次輸入的回車鍵只會有乙個。

void countzf3(char *a)

b=b+1;//此處***

if(a+b+c+d==10)

printf("letter = %d, blank = %d, digit = %d, other = %d",a,b,c,d);

else if(a+b+c+d<10)

countzf2();

}

③countzf2中內嵌的有countzf3,而countzf3中內嵌的有countzf2;它們有這不同的作用;

(1)countzf2中內嵌的有countzf3:

void countzf2()

countzf2函式要求先輸入乙個新的字元組,然後再將這個陣列放入countzf3函式中進行上述判斷。

(2)countzf3中內嵌的有countzf2:

在countzf3的末尾有判斷,如果a+b+c+d和不能達到10,還需要進行下一步輸入,再判斷,所以此時再呼叫countzf2函式。從而一直迴圈呼叫下去,直到a+b+c+d和達到了10,會直接輸出對應的a,b,c,d的值。並且不會再迴圈和呼叫。

最後完整的實現目的功能。

c 例題 建構函式(二)

題目來自 專案3 編寫基於物件的程式,求5個長方柱的體積和表面積。長方柱類bulk的資料成員包括長 length 寬 width 高 heigth 等。另外 1 需要定義長方柱類,5個長方柱採用乙個物件陣列表示 2 定義相應的建構函式以支援如下main 函式中的初始化,其中前3個直接給出引數初始化 ...

C語言函式之經典例題

printf函式返回值型別 返回值是輸出的字元數量,包括數字,字母,標點符號,空格等 如 define crt secure no warnings 1 include intmain 結果輸出4321寫一函式判斷乙個數是否是素數 define crt secure no warnings 1 in...

VB字元統計函式

在 通用宣告 區宣告 窗體 模組級變數 option explicit dim letters as integer 宣告模組級變數,此變數計算字母個數 dim space as integer 空格個數 dim digit as integer 數字個數 dim others as integer...