浙大版《C語言程式設計(第3版)》題目集 (6)

2021-10-19 04:54:43 字數 4324 閱讀 9182

本題要求實現乙個函式,統計給定字串中英文本母、空格或回車、數字字元和其他字元的個數。

void stringcount( char s );

其中 char s 是使用者傳入的字串。函式stringcount須在一行內按照

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

的格式輸出。

#include

#define maxs 15

void

stringcount

(char s)

;void

readstring

(char s)

;/* 由裁判實現,略去不表 */

intmain()

void

stringcount

(char s)

printf

("letter = %d, blank = %d, digit = %d, other = %d"

,letter,blank,digit,other)

;}

az &

09 az

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

給定兩個均不超過9的正整數a和n,要求編寫函式求a+aa+aaa++⋯+aa⋯a(n個a)之和。

int fn( int a, int n );

int suma( int a, int n );

其中函式fn須返回的是n個a組成的數字;suma返回要求的和。

#include

intfn

(int a,

int n )

;int

suma

(int a,

int n )

;int

main()

intfn(

int a,

int n )

return z;

}int

suma

(int a,

int n )

return sum;

}

2 3

fn(2, 3) = 222

s = 246

本題要求實現乙個計算整數因子和的簡單函式,並利用其實現另乙個函式,輸出兩正整數m和n(0int factorsum( int number );

void printpn( int m, int n );

其中函式factorsum須返回int number的因子和;函式printpn要逐行輸出給定範圍[m, n]內每個完數的因子累加形式的分解式,每個完數佔一行,格式為「完數 = 因子1 + 因子2 + … + 因子k」,其中完數和因子均按遞增順序給出。如果給定區間內沒有完數,則輸出一行「no perfect number」。

#include

intfactorsum

(int number )

;void

printpn

(int m,

int n )

;int

main()

int

factorsum

(int number)

return sum;

}void

printpn

(int m,

int n )

printf

("\n");

}}if(x==0)

printf

("no perfect number");

}

6 30

6 is a perfect number

6 = 1 + 2 + 3

28 = 1 + 2 + 4 + 7 + 14

7 25

no perfect number

本題要求實現乙個計算fibonacci數的簡單函式,並利用其實現另乙個函式,輸出兩正整數m和n(0int fib( int n );

void printfn( int m, int n );

其中函式fib須返回第n項fibonacci數;函式printfn要在一行中輸出給定範圍[m, n]內的所有fibonacci數,相鄰數字間有乙個空格,行末不得有多餘空格。如果給定區間內沒有fibonacci數,則輸出一行「no fibonacci number」。

#include

intfib

(int n )

;void

printfn

(int m,

int n )

;int

main()

int

fib(

int n )

void

printfn

(int m ,

int n)

i++;}

if(z==0)

printf

("no fibonacci number");

}

20 100 7

fib(7) = 13

21 34 55 89

2000 2500 8

fib(8) = 21

no fibonacci number

本題要求實現乙個判斷素數的簡單函式,並利用該函式驗證哥德**猜想:任何乙個不小於6的偶數均可表示為兩個奇素數之和。素數就是只能被1和自身整除的正整數。注意:1不是素數,2是素數。

int prime( int p );

void goldbach( int n );

其中函式prime當使用者傳入引數p為素數時返回1,否則返回0;函式goldbach按照格式「n=p+q」輸出n的素數分解,其中p≤q均為素數。又因為這樣的分解不唯一(例如24可以分解為5+19,還可以分解為7+17),要求必須輸出所有解中p最小的解。

#include

#include

intprime

(int p )

;void

goldbach

(int n )

;int

main()

return0;

}

int

prime

(int p)

return1;

}void

goldbach

(int n )

}

89 100

89 is a prime number

90=7+83, 92=3+89, 94=5+89, 96=7+89, 98=19+79

100=3+97,

本題要求實現乙個求整數的逆序數的簡單函式。

int reverse( int number );

其中函式reverse須返回使用者傳入的整型number的逆序數。

裁判測試程式樣例:

#include

intreverse

(int number )

;int

main()

int

reverse

(int number )

while

(number!=0)

return sum*a;

}

-12340

經供參考***

浙大版《C語言程式設計(第3版)》題目集 (5上)

本題要求實現乙個計算m n mint sum int m,int n 其中m和n是使用者傳入的引數,保證有m include intsum int m,int n int main include intsum int m,int n int sum int m,int n return sum i...

浙大版《C語言程式設計(第3版)》題目集 找鞍點

習題7 5 找鞍點 20分 乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。輸入格式 輸入第一行給出乙個正整數n 1 n 6 隨後n行,每行給出n個整數,其間以空格分隔。輸出格式 輸出在一行中按照 行下標 列下標 下標從0開始 的格...

浙大版《C語言程式設計(第3版)》題目集前四章總結

習題3 2 高速公路超速處罰 15分 按照規定,在高速公路上行使的機動車,超出本車道限速的10 則處200元罰款 若超出50 就要吊銷駕駛證。請編寫程式根據車速和限速自動判別對該機動車的處理。輸入在一行中給出2個正整數,分別對應車速和限速,其間以空格分隔。在一行中輸出處理意見 若屬於正常行駛,則輸出...