C语言基础题库之函数题
Rick-Boston
这个作者很懒,什么都没留下…
展开
-
4-1 符号函数 (10分)
本题要求实现符号函数sign(x)。函数接口定义:int sign( int x );其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 111;若x等于0,sign(x) = 000;否则,sign(x) = −1-1−1。裁判测试程序样例:#include int sign( int x );int main(){原创 2017-03-01 19:55:56 · 5048 阅读 · 0 评论 -
4-13 使用递归函数计算1到n之和
本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。函数接口定义:int sum( int n );该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。裁判测试程序样例:#include int sum( int n );int main(){ int n;原创 2017-03-15 08:05:11 · 11424 阅读 · 4 评论 -
4-14 递归求阶乘和 (10分)
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。函数接口定义:double fact( int n );double factsum( int n );函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+...+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#in原创 2017-03-15 08:11:21 · 9555 阅读 · 0 评论 -
4-15 递归实现指数函数 (10分)
本题要求实现一个计算xnx^nxn(n≥1n\ge 1n≥1)的函数。函数接口定义:double calc_pow( double x, int n );函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。裁判测试程序样例:#include double calc_pow( double x, int n );int m原创 2017-03-15 08:13:12 · 2829 阅读 · 0 评论 -
4-16 递归求简单交错幂级数的部分和 (10分)
本题要求实现一个函数,计算下列简单交错幂级数的部分和:f(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn f(x, n) = x - x^2 + x^3 - x^4 + \cdots + (-1)^{n-1}x^nf(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn函数接口定义:double fn( double x, int n原创 2017-03-15 08:18:13 · 10217 阅读 · 1 评论 -
4-17 递归计算Ackermenn函数 (10分)
本题要求实现Ackermenn函数的计算,其函数定义如下:函数接口定义:int Ack( int m, int n );其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。裁判测试程序样例:#include int Ack( int m, int n );int main(){原创 2017-03-15 08:19:15 · 27478 阅读 · 0 评论 -
4-18 递归求Fabonacci数列 (10分)
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:f(n)=f(n−2)+f(n−1)f(n)=f(n-2)+f(n-1)f(n)=f(n−2)+f(n−1) (n≥2n\ge 2n≥2),其中f(0)=0f(0)=0f(0)=0,f(1)=1f(1)=1f(1)=1。函数接口定义:int f( int n );函数f应返回第n个Fa原创 2017-03-15 08:31:58 · 8745 阅读 · 0 评论 -
4-19 递归计算P函数 (10分)
本题要求实现下列函数P(n,x)P(n,x)P(n,x)的计算,其函数定义如下:函数接口定义:double P( int n, double x );其中n是用户传入的非负整数,x是双精度浮点数。函数P返回P(n,x)P(n,x)P(n,x)函数的相应值。题目保证输入输出都在双精度范围内。裁判测试程序样例:#include double P( int原创 2017-03-15 08:32:47 · 16704 阅读 · 0 评论 -
4-20 使用函数求素数和 (10分)
本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p );int PrimeSum( int m, int n );其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和原创 2017-03-15 08:33:41 · 21653 阅读 · 1 评论 -
4-21 使用函数输出指定范围内的Fibonacci数 (10分)
本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数mmm和nnn(0<m≤n≤100000<m\le n\le 100000m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:int fib( int n );void PrintFN( int原创 2017-03-15 08:34:35 · 41896 阅读 · 11 评论 -
4-12 求自定类型元素的最大值 (10分)
本题要求实现一个函数,求N个集合元素S[]中的最大值,其中集合元素的类型为自定义的ElementType。函数接口定义:ElementType Max( ElementType S[], int N );其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素中的最大值,其值也必须是ElementType类型。裁判测试程序样例:#includ原创 2017-03-01 20:08:34 · 495 阅读 · 0 评论 -
4-11 求自定类型元素的平均 (10分)
本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType。函数接口定义:ElementType Average( ElementType S[], int N );其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素的平均值,其值也必须是ElementType类型。裁判测试程序样例:#incl原创 2017-03-01 20:07:23 · 625 阅读 · 0 评论 -
4-10 简单求和 (10分)
本题要求实现一个函数,求给定的N个整数的和。函数接口定义:int Sum ( int List[], int N );其中给定整数存放在数组List[]中,正整数N是数组元素个数。该函数须返回N个List[]元素的和。裁判测试程序样例:#include #define MAXN 10int Sum ( int List[], int N );int main原创 2017-03-01 20:06:00 · 933 阅读 · 0 评论 -
5-17 求阶乘序列前N项和 (15分)
本题要求编写程序,计算序列 1!+2!+3!+⋯1! + 2! + 3! + \cdots1!+2!+3!+⋯ 的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。输入样例:5输出样例:153#include#includedouble fact(int n);原创 2017-03-01 19:51:05 · 18515 阅读 · 0 评论 -
4-2 简单实现x的n次方 (10分)
本题要求实现一个计算xnx^nxn(n≥0n\ge 0n≥0)的函数。函数接口定义:double mypow( double x, int n );函数mypow应返回x的n次幂的值。题目保证结果在双精度范围内。裁判测试程序样例:#include double mypow( double x, int n );int main(){ doubl原创 2017-03-01 19:57:04 · 28070 阅读 · 6 评论 -
4-3 使用函数计算两个复数之积 (10分)
若两个复数分别为:c1=x1+y1ic_1=x_1 + y_1 ic1=x1+y1i和c2=x2+y2ic_2=x_2 + y_2 ic2=x2+y2i,则它们的乘积为 c1×c2=(x1x2−y1y2)+(x1y2+x2y1)ic_1 \times c_2 = (x_1 x_2 - y_1 y_2) + (x_1 y_2 + x_2 y_1)ic1原创 2017-03-01 19:58:17 · 13207 阅读 · 0 评论 -
4-4 使用函数求最大公约数 (10分)
本题要求实现一个计算两个数的最大公约数的简单函数。函数接口定义:int gcd( int x, int y );其中x和y是两个正整数,函数gcd应返回这两个数的最大公约数。裁判测试程序样例:#include int gcd( int x, int y );int main(){ int x, y; scanf("%d %d", &x, &y)原创 2017-03-01 19:59:24 · 42877 阅读 · 0 评论 -
4-5 使用函数的选择法排序 (25分)
本题要求实现一个用选择法对整数数组进行简单排序的函数。函数接口定义:void sort( int a[], int n );其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。裁判测试程序样例:#include #define MAXN 10void sort( int a[], int n );i原创 2017-03-01 20:00:30 · 28006 阅读 · 0 评论 -
4-6 找两个数中最大者 (10分)
本题要求对两个整数a和b,输出其中较大的数。函数接口定义:int max( int a, int b );其中a和b是用户传入的参数,函数返回的是两者中较大的数。裁判测试程序样例:#include int max( int a, int b );int main(){ int a, b; scanf("%d %d", &a, &原创 2017-03-01 20:01:57 · 19736 阅读 · 0 评论 -
4-7 判断奇偶性 (10分)
本题要求实现判断给定整数奇偶性的函数。函数接口定义:int even( int n );其中n是用户传入的整型参数。当n为偶数时,函数返回1;n为奇数时返回0。注意:0是偶数。裁判测试程序样例:#include int even( int n );int main(){ int n; scanf("%d", &n); if (e原创 2017-03-01 20:02:36 · 1380 阅读 · 0 评论 -
4-8 求m到n之和 (10分)
本题要求实现一个计算mmm~nnn(mmn)之间所有整数的和的简单函数。函数接口定义:int sum( int m, int n );其中m和n是用户传入的参数,保证有mmn。函数返回的是mmm~nnn之间所有整数的和。裁判测试程序样例:#include int sum(int m, int n);int main(){ int原创 2017-03-01 20:03:51 · 1977 阅读 · 0 评论 -
4-9 简单输出整数 (10分)
本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。函数接口定义:void PrintN ( int N );其中N是用户传入的参数。该函数必须将从1到N的全部正整数顺序打印出来,每个数字占1行。裁判测试程序样例:#include void PrintN ( int N );int main (){ int N; scanf("%原创 2017-03-01 20:04:40 · 592 阅读 · 0 评论 -
4-22 使用函数输出水仙花数 (10分)
水仙花数是指一个NNN位正整数(N≥3N\ge 3N≥3),它的每个位上的数字的NNN次幂之和等于它本身。例如:153=13+53+33153 = 1^3 + 5^3+ 3^3153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)(m,n)(m,n)内所有的水仙花数。函数接口定义:in原创 2017-03-15 08:35:39 · 29007 阅读 · 3 评论