int函数

习题10-3 递归实现指数函数 (15分)

岁酱吖の 提交于 2020-03-07 09:19:01
本题要求实现一个计算x​n​​(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, &n); printf("%.0f\n", calc_pow(x, n)); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: 2 3 输出样例: 8 解答: double calc_pow( double x, int n ){ double res=1; for(int i=1;i<=n;i++){ res*=x; } return res; } 来源: CSDN 作者: youandworld 链接: https://blog.csdn.net/qq_30377869/article/details/104708879

习题10-7 十进制转换二进制 (15分)

淺唱寂寞╮ 提交于 2020-03-07 09:14:38
本题要求实现一个函数,将正整数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; } /* 你的代码将被嵌在这里 */ 输入样例: 10 输出样例: 1010 解答: if(n/2>0) dectobin(n/2); printf("%d",n%2); } 来源: CSDN 作者: youandworld 链接: https://blog.csdn.net/qq_30377869/article/details/104708890

习题11-1 输出月份英文名 (15分)

隐身守侯 提交于 2020-03-07 09:13:33
本题要求实现函数,可以返回一个给定月份的英文名称。 函数接口定义: char *getmonth( int n ); 函数 getmonth 应返回存储了 n 对应的月份英文名称的字符串头指针。如果传入的参数 n 不是一个代表月份的数字,则返回空指针NULL。 裁判测试程序样例: #include <stdio.h> char *getmonth( int n ); int main() { int n; char *s; scanf("%d", &n); s = getmonth(n); if ( s==NULL ) printf("wrong input!\n"); else printf("%s\n", s); return 0; } /* 你的代码将被嵌在这里 */ 输入样例1: 5 输出样例1: May 输入样例2: 15 输出样例2: wrong input! 解答: char *getmonth(int n){ char *getmonth[13] = { "0", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; if (n > 0 && n < 13) return

189#旋转数组

▼魔方 西西 提交于 2020-03-07 07:22:12
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入: [-1,-100,3,99] 和 k = 2 输出: [3,99,-1,-100] 解释: 向右旋转 1 步: [99,-1,-100,3] 向右旋转 2 步: [3,99,-1,-100] 说明:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 要求使用空间复杂度为 O(1) 的 原地 算法。 思路:先将数组中所有数反转,再将前K个反转,再将后N-K反转,就能得到想要的结果 例如: 1 2 3 4 5 6 7 k=3 7 6 5 4 3 2 1 5 6 7 4 3 2 1 5 6 7 1 2 3 4 class Solution { public void rotate(int[] nums, int k) { k=k%nums.length;//处理k超过数组长度的情况 reversal(nums,0,nums.length-1); reversal(nums,0,k-1); reversal(nums

函数解析

对着背影说爱祢 提交于 2020-03-07 07:01:20
1.为什么要用函数 a)函数能够增加程序的可读性 b)提高开发的效率 c)可以重复使用和在各种适用情况下使用 void swap(int *a,int *b) { int t; t=a; a=b; b=t; } 这段代码适用于任何想要交换数字的时候,节省了时间。 2.为什么要用函数重载 a)解决了命名冲突问题,增加了可读性. b)减少了用户的复杂性 void a(); void a(int); void a(float,float); void a(constchar*,constchar*); void Max(int,int); intmain() { a(2.4); return; } 函数重载可以优先选出想要应用的函数 3.什么是值传递 a)值传递是指只将要使用的值传入函数,而不改变值本身.就是指将一个实参传递给一个形参. #include<stdio.h> void change(int num) { num=0; //修改参数 } int main() { int a=1; change(a); //调用函数 printf("%d",a);//输出变量,变量的值没改变 return 0; } 4.什么是地址传递 a)地址传递是指将实参的地址传给函数,可以在函数里面改变实参的值 #include<stdio.h> void change(int *num) { num=0

C++取整,四舍五入

霸气de小男生 提交于 2020-03-07 06:58:50
将浮点数取整或者四舍五入的数据处理情况经常见到,下面做一下总结 注意函数取整返回值均为double型,在用printf输出时应注意 头文件#include # include <iostream> # include <math.h> using namespace std ; int main ( ) { double a = 2.5 ; cout << ceil ( a ) << endl ; //向上取整 cout << floor ( a ) << endl ; //向下取整 cout << round ( a ) << endl ; //四舍五入 //不使用函数实现 //向下取整 cout << ( int ) a << endl ; //向上取整 cout << ( a > ( int ) a ? ( int ) a + 1 : ( int ) a ) << endl ; //四舍五入 cout << ( int ) ( a + 0.5 ) << endl ; return 0 ; } ———————————————— 版权声明:本文为CSDN博主「勤劳是一种恶习」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/innounce/article/details/61642582

C++ 中的 sizeof()

你说的曾经没有我的故事 提交于 2020-03-07 04:07:02
【牛客题目1】在Visual C++ 和 Mingw64平台上,short a[100], sizeof(a) 返回什么? A. 2 B. 4 C. 100 D. 200 E. 400 答案:D Reference: https://www.nowcoder.com/test/question/done?tid=31013888&qid=1490#summary 解析:short int: 2个字节 【1.1】 sizeof 返回的数值表示的含义如下(单位字节) 数组 - 编译时分配的数组空间大小 【1.1】(特别地,若数组作为参数被传入函数中做sizeof()运算,则和指针运算没区别)【1.2】 指针 - 存储该指针所用的空间大小 (存储该指针的地址长度,是长整型,应该为4) 【2】 类型 - 该类型所占用的空间大小 【3】 对象 - 对象的实际占用空间大小 【4】 函数 - 函数的返回类型所占的空间大小。函数的返回类型不能是void【5】 【题目2-13】 1 char str[] = "Hello"; 2 char *p = str; 3 int n = 10; 4 sizeof(str) = 6; // H,e,l,l,o,\0 [1.1] 5 sizeof(p) = 4; // [2] 6 sizeof(n) = 4; // [3] 7 void Func(char

OpenCV自适应阈值化函数adaptiveThreshold

南楼画角 提交于 2020-03-07 03:26:19
图像阈值化的一般目的是从灰度图像中分享目标区域和背景区域,然而仅仅通过设定固定阈值(固定阈值的求解可点此查看我写的博文)很难达到理想的分割效果。在实际应用中,我们可以通过某个像素的邻域以某种方法确定这个像素应该具有的阈值,进而保证图像中各个像素的阈值会随着周期围邻域块的变化而变化。在灰度图像中,灰度值变化明显的区域往往是物体的轮廓,所以将图像分成一小块一小块的去计算阈值往往会得出图像的轮廓,而固定阈值的方法就不行。 OpenCV中提供了自适应阈值化函数adaptiveThreshold来实现自适应阈值处理、 函数adaptiveThreshold的原型如下: C++: void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, double C); 官方说明 int main(int argc, char* argv[]) { // 图像读取及判断 cv::Mat srcImage = cv::imread("2.jpg"); if (!srcImage.data) return 1; // 灰度转换 cv::Mat srcGray; cv::cvtColor(srcImage,

开始系统学习C++

半城伤御伤魂 提交于 2020-03-07 03:25:44
C++初识 C++程序样例 main()函数 1.作为接口的函数头 2.为什么 main() 不能是其他名称 C++ 预处理器和 iostream 文件 C++程序样例 /** * Author@Cheng Feitian * Date: 2020-3-6 * Function: 显示消息 */ # include <iostream> int main ( ) { using namespace std ; cout << "Come up and C++ me some time." ; cout << endl ; cout << "You won`t regret it!" << endl ; return 0 ; } main()函数 根据上述代码,可以抽象出 C++ 的基本结构: int main ( ) { statements ; return 0 ; } 与 C 语言差别不大,组成: int main () 称为函数头; 花括号({和})包含的部分称为函数体。 最后一句称为返回语句。 1.作为接口的函数头 需要谨记的是,C++ 句法要求 main() 函数的定义以函数头 int main() 开始。 通常来说,C++ 函数可被其他函数激活或调用,函数头描述了函数与调用他的函数之间的接口。位于函数名前面的部分叫做函数的返回类型

练习10-1 使用递归函数计算1到n之和 (10分)

烂漫一生 提交于 2020-03-07 02:42:14
本题要求实现一个用递归计算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", sum(n)); return 0; } /* 你的代码将被嵌在这里 */ 输入样例1: 10 输出样例1: 55 输入样例2: 0 输出样例2: 0 解答: int sum( int n ){ if(n<=0) return 0; if(n==1) return 1; return n+sum(n-1); } 来源: CSDN 作者: youandworld 链接: https://blog.csdn.net/qq_30377869/article/details/104705019