函数与程序结构
要一颗不甜的糖
菜鸟上路,请多指教
展开
-
7-3 递归实现逆序输出整数
本题目要求读入1个正整数n,然后编写递归函数reverse(int n)实现将该正整数逆序输出。输入格式:输入在一行中给出1个正整数n。输出格式:对每一组输入,在一行中输出n的逆序数。输入样例:12345结尾无空行输出样例:54321结尾无空行上代码:#include <stdio.h>#include <stdlib.h>void reverse(int n);int main(int argc, char *argv[]原创 2021-12-17 16:02:15 · 1540 阅读 · 1 评论 -
7-1 圆形体体积计算器
本题要求实现一个常用圆形体体积的计算器。计算公式如下:球体体积V=34πr3,其中r是球体半径。 圆柱体体积V=πr2h,其中r是底圆半径,h是高。 圆锥体体积V=31πr2h,其中r是底圆半径,h是高。输入格式:在每次计算之前,要求输出如下界面:1-Ball2-Cylinder3-Coneother-ExitPlease enter your command:然后从标准输入读进一个整数指令。输出格式:如果读入的指令是1或2或3,则执行相应的体积计算;如果是...原创 2021-12-16 19:08:21 · 1241 阅读 · 0 评论 -
6-13 分治法求解金块问题
老板有一袋金块(共n块,2≤n≤100),两名最优秀的雇员每人可以得到其中的一块,排名第一的得到最重的金块,排名第二的则得到袋子中最轻的金块。输入一个正整数N(2≤N≤100)和N个整数,用分治法求出最重金块和最轻金块。本题要求实现2个函数,分别使用分治法在数组中找出最大值、最小值。函数接口定义:int max(int a[ ], int m, int n); int min(int a[ ], int m, int n); 递归函数max用分治法求出a[m]~a[n]中的最大原创 2021-12-16 15:46:44 · 4075 阅读 · 7 评论 -
6-12 有序表的简单增删查操作
首先输入一个正整数N(1≤N≤1000)和一个无重复元素的、从小到大排列的、N个元素的有序表,然后在屏幕上显示以下菜单(编号和选项):[1] Insert[2] Delete[3] Query[Other option] End用户可以反复对该有序表进行插入、删除和查找操作,也可以选择结束。当用户输入编号1~3和相关参数时,将分别对该有序表进行插入、删除和查找操作,输入其他编号,则结束操作。本题要求实现3个函数,分别在有序表(数组)中插入、删除、查找一个值。函数接口定义:voi原创 2021-12-16 13:17:46 · 5506 阅读 · 0 评论 -
6-11 递归计算P函数
本题要求实现下列函数P(n,x)的计算,其函数定义如下:函数接口定义:double P( int n, double x );其中n是用户传入的非负整数,x是双精度浮点数。函数P返回P(n,x)函数的相应值。题目保证输入输出都在双精度范围内。裁判测试程序样例:#include <stdio.h>double P( int n, double x );int main(){ int n; double x; scanf("%d %lf原创 2021-12-15 16:31:13 · 3898 阅读 · 0 评论 -
6-10 递归求阶乘和
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。函数接口定义:double fact( int n );double factsum( int n );函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+...+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#include <stdio.h>double fact( int n );double factsum( in原创 2021-12-15 16:20:14 · 209 阅读 · 0 评论 -
6-9 十进制转换二进制
本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n); dectobin(n); return 0;}/* 你的代码将被嵌在原创 2021-12-15 15:45:32 · 690 阅读 · 0 评论 -
6-8 递归求逆序数(求助篇)
这题我只是用了普通的方法,用递归总是会多一个数字或者是输出原文,所以特发此贴求大佬帮。本题要求实现一个求非负整数的逆序数的简单函数,建议用递归实现。函数接口定义:unsigned int reverse( unsigned int number );其中number是用户传入的参数,number的值不超过unsigned int的范围;函数须返回用户传入的非负整数number的逆序数,建议用递归实现。裁判测试程序样例:#include <stdio.h># i...原创 2021-12-15 15:43:25 · 6162 阅读 · 0 评论 -
6-7 判断满足条件的三位数
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。函数接口定义:int search( int n );其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101,n]区间内所有满足条件的数的个数。裁判测试程序样例:#include <stdio.h>#include <math.h>int search( int n );int main(){ int .原创 2021-12-15 08:52:54 · 4426 阅读 · 1 评论 -
6-5 递归求简单交错幂级数的部分和
本题要求实现一个函数,计算下列简单交错幂级数的部分和:f(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn函数接口定义:double fn( double x, int n );其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。裁判测试程序样例:#include <stdio.h>double fn( double x, int n );int main(){ double x;原创 2021-12-14 19:01:45 · 595 阅读 · 0 评论 -
6-4 递归求Fabonacci数列
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:f(n)=f(n−2)+f(n−1)(n≥2),其中f(0)=0,f(1)=1。函数接口定义:int f( int n );函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。裁判测试程序样例:#include <stdio.h>int f( int n );int main(){ int n; scanf("%d", &a.原创 2021-12-14 18:33:26 · 1536 阅读 · 0 评论 -
6-3 递归计算Ackermenn函数
本题要求实现Ackermenn函数的计算,其函数定义如下:函数接口定义:int Ack( int m, int n );其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。裁判测试程序样例:#include <stdio.h>int Ack( int m, int n );int main(){ int m, n; scanf("%d %d", &m, &n);原创 2021-12-14 16:34:40 · 1717 阅读 · 0 评论 -
6-2 递归实现指数函数
本题要求实现一个计算xn(n≥1)的函数。函数接口定义:double calc_pow( double x, int n );函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。裁判测试程序样例:#include <stdio.h>double calc_pow( double x, int n );int main(){ double x; int n; scanf("%lf %d", &x,原创 2021-12-14 16:15:45 · 824 阅读 · 0 评论 -
6-1 使用递归函数计算1到n之和 (10 分)
本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。函数接口定义:int sum( int n );该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。裁判测试程序样例:#include <stdio.h>int sum( int n );int main(){ int n; scanf("%d", &n); printf ("%d\n", s原创 2021-12-14 16:03:31 · 1199 阅读 · 0 评论