首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机小白成长历程——习题演练(函数篇)

1//防止VS对使用scanf函数时报出警告 #include //使用scanf函数需要调用头文件 #include //使用pow函数需要调用头文件 //按顺序打印无符号整型值每一位数...这里我们可以通过输入函数scanf来接收字符串; (2)接收字符串存放在哪里呢?...提到字符串,我们首先要想到是数组,我们可以通过定义一个字符数组来存储scanf函数接收字符串; (3)函数参数分别是什么?...= 0; scanf("%d", &n); //传值调用 m = Fib(n); printf("%d斐波那契数=%d\n", n, m); return 0; } 这样我们就通过函数迭代方式实现了...m = 0, n = 0; scanf("%d", &n); //传值调用 m = Fib(n); printf("%d斐波那契数=%d\n", n, m); return 0; }

18520

Excel公式技巧65:获取n个匹配值(使用VLOOKUP函数

学习Excel技术,关注微信公众号: excelperfect 在查找相匹配值时,如果存在重复值,而我们想要获取指定匹配值,那该如何实现呢?...如下图1所示工作表,在“商品”列中,存在一些重复商品,现在我们要找出2次出现“笔记本”销售量。 ?...图1 我们知道VLOOKUP函数通常会返回找到第一个匹配值,或者最后一个匹配值,详见《Excel公式技巧62:查找第一个和最后一个匹配数据》。...然而,我们可以构造一个与商品相关具有唯一值辅助列(详见《Excel公式技巧64:为重复值构造包含唯一值辅助列》),从而可以使用VLOOKUP函数来实现查找匹配值。...在单元格H6中输入公式: =VLOOKUP(H2 & "-" &G6,B3:E 即可得到指定匹配值,如下图3所示。 ? 图3 可以修改单元格H2或G6中数值,从而获取相应匹配数据。

7.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    第五节(信息读写基础)

    本次将介绍以下内容: ●C语言输入和输出语句基础 ●如何使用printf()和puts() 库函数在屏幕上显示信息 ●如何格式化在屏幕上显示信息 ●如何使用scanf() 库函数从键盘读取用户输入数据...在main()函数中,14行和15行printf()中演示了如何通过转义序列打印问号、单引号和双引号。...在格式字符串中,除转义序列和转换说明以外内容都是字面量文本。 printf()函数会原样打印字面量文本(包括其中所有的空格)。 如何打印多个变量值?...\n"); 可以将包含转义序列(包括\n )字符串传递给puts(),其效果与使用printf()函数相同 与使用printf()函数类似,任何使用puts()函数程序都要.包含头文件stdio.h...使用scanf() 程序必须包含stdio.h头文件。 下面的程序中演示了如何使用scanf()。

    19620

    Excel公式技巧66:获取n个匹配值(使用INDEX函数

    学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧65:获取n个匹配值(使用VLOOKUP函数)》中,我们构造了一个没有重复值辅助列,从而可以使用VLOOKUP...函数来查找指定重复值。...本文中仍然以此为例,使用INDEX函数来获取重复值中指定值,但是不需要构造辅助列。 如下图1所示工作表,在“商品”列中,存在一些重复商品,现在我们要找出2次出现“笔记本”销售量。 ?...代入SMALL函数中: SMALL(IF(C3:C14=G2,ROW(C3:C14)-ROW(C3)+1),F6) 解析为: SMALL({1;FALSE;FALSE;FALSE;FALSE;6;FALSE...代入INDEX函数中,得到: =INDEX(D3:D14,6) 结果为单元格D8中值10。 如果使用定义名称,那么公式将更灵活,如下图3所示。 ?

    6.4K10

    第八节(字符和字符串

    如何用C语言char数据类型储存单个字符 ●如何创建char类型数组储存多个字符串如何初始化字符和字符串字符串和指针关系 ●如何输入字符和字符串,并将其打印出来 一.char数据类型:...因此,如果将其作为一个字符串,在该指针未指向空字符之前,可以打印出所有的字符。 40行使用puts()函数证明了这一点。 注意42行使用函数——free() 函数。...因为puts()是标准输出函数,所以要包含stdio.h头文件(3行)。 5~9行声明并初始化了5个不同变量,每个变量都是一个字符指针。 13~17行使用puts() 函数打印每个字符串。...scanf() 函数格式字符串告诉该函数如何读取用户输入信息。 要读取字符串,必须在scanf()格式字符串使用%s转换说明。...与gets()类似,要给scanf ()传递一个指向字符串存储位置指针。 scanf()如何确定字符串开始和结束位置? 开始位置很好确定,就是它读取1个非空白字符位置。

    31030

    【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)

    ("%s will come tonight\n", "zhangsan"); return 0; } 上⾯⽰例中, %s 表⽰代⼊是⼀个字符串,所以 printf⼆个参数就必须是字符串,...第三个printf打印43,在屏幕上打印2个字符,再返回2 ⼆个printf打印2,在屏幕上打印1个字符,再放回1 ⼀个printf打印1 所以屏幕上最终打印:4321 scanf 当我们有了变量,...占位符基本⼀致),告诉编译器如何解读⽤⼾输⼊,需要提取数据是什么类型。...返回值 scanf 返回值是⼀个整数,表⽰成功读取变量个数 如果没有读取任何,或者匹配失败,则返回 0 。...就结束读取 通过这种方法可以代替gets函数了 丢弃特定字符 就是上面讲到赋值忽略符*,这里结合[]使用 scanf("%*[a-z]"); scanf("%*[0-9]"); scanf("%*[a-z

    27010

    C语言:基础知识

    • main函数是程序入口 • main函数有且仅有⼀个 • 即使⼀个⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序入口只能有⼀个) • main函数可以出现在任意位置,若在主函数中调用哪些函数...字符串打印格式可以使用 %s 来指定,也可以直接打印如下: #include int main() { printf("%s\n", "hello C"); printf("hello...所以我们在使⽤库函数 printf() 打印字符串或者 strlen() 计算字符串⻓度时候,遇到 \0 时候就⾃动停⽌了。...13.1 基本用法 scanf() 函数⽤于读取用户键盘输⼊。...13.2 scanf返回值 scanf() 返回值是⼀个整数,表⽰成功读取变量个数。 如果没有读取任何,或者匹配失败,则返回 0 。

    18310

    函数递归与迭代附n阶乘+顺序打印一个整数每一位数+求n个斐波那契数

    输入和输出结果: 在这个解题过程中,我们就是使用了大事化小思路 把Print(1234)打印1234每⼀位,拆解为首先Print(123)打印123每⼀位,再打印得到4 把Print(123...举例3:求n个斐波那契数 我们先来了解一下斐波那契数: 斐波那契数列:1,1,2,3,5,8,13,21,34,55,89…… , 以递归方法定义:从第三开始,每一都等于前两之和...就像计算n个斐波那契数,是不适合使用递归求解,但是斐波那契数问题通过是使用递归形式描述,如下: 看到这公式,很容易诱导我们将代码写成递归形式,如下所示: int Fib(int n) {...return 0; } 运行结果: 这里我们看到了,在计算40个斐波那契数时候,使用递归方式,3个斐波那契数就被重复计算了39088169次,这些计算是非常冗余。...所以斐波那契数计算,使用递归是非常不明智,我们就得想迭代方式解决。 我们知道斐波那契数前2个数都1,然后前2个数相加就是3个数,那么我们从前往后,从小到大计算就行了。

    12010

    【C语言】题集 of ⑧

    任意输入字符串实现逆序打印,不能使用C自带字符串函数 第三十六题→代码 第三十七题→代码 第三十八题→代码 第三十九题→代码 第四十零题→代码 第三十六题→求斐波那契数!...这个数列从3开始,每一都等于前两之和。...第三十九题→模拟实现字符串函数,任意输入~求字符串函数长度 其实上述题目无非就是叫我们实现 strlen 功能,那我们需要知道 strlen() 函数声明。...第四十题零→任意输入字符串实现逆序打印,不能使用C自带字符串函数 首先,我们创建一个函数来实现字符串当中逆序打印,题目规定不能使用字符串当中库函数,那么本题目很有可能是会使用但是不让我们去使用函数字符串函数...输入函数这里推荐大家去使用 gets() 函数,那我们来说说 gets() 输入函数scanf() 输入函数区别吧↓ scanf():不能接受空格、制表符Tab、回车等; 当遇到回车,空格和tab

    52620

    头歌c语言实训作业题解

    关:回文数计算 3关: 编写函数求表达式4关:阶乘数列 5关:亲密数 6关:公约公倍数 递归函数、嵌套函数 1关:递归求阶乘数列 2关:递归实现输出一个整数逆序 3关:将整数递归转换成字符串...2关:回文数。 3关:求数列n以及前n之和 4关:求数中k位数字。...2关:字符统计 3关:字符插入 4关:字符串处理 5关:字符串统计 6关:字符串排序 程序设计部分 指针(一) 1关:指针使用 2关:指针运算 3关:指针与数组 程序设计部分 指针(...二) 1关:字符串与指针 2关:指针与二维数组 程序设计部分 指针(三) 1关:指针作为函数参数 2关:指针作为函数返回值 指针应用 1关:“回文”判断 2关:节日提示 3关:选出串中数字...4关:矩阵转置 5关:字符串排序 C语言程序设计编辑与调试环境 1.打印输出 Hello World 本关任务:通过运行一个C语言程序,让你初步了解程序运行方法。

    5.3K10

    3.格式IO

    Print(“%d%d”,num);//这是错误 2.Printf()函数打印列表中使用是值,而不管是变量常量还是表达式 如果要打印%本身,则用%%替代。...%8s 表示输出8个字符字符串,不够8个字符右对齐。 %6.9s 表示显示一个长度不小于6且不大于9字符串。若大于9,则9个字符以后内容将被删除。...4.Scanf()只从缓冲区中获取数据,当缓冲区中有数据时,不会等待用户输入 ? 解决方法是使用:while(getchar()!=’\n’); 清空缓冲区中数据。 ?...9)使用scanf函数对实型变量进行赋值时,在格式%f中不得控制小数位精度,但在printf函数中可以使用,并且经常使用。...10)Scanf函数“格式控制字符串”中一般不使用转义字符,否则要按原样在对应位置从键盘输入,为输入数据带来不必要麻烦。 三.

    93920

    scanf使用,cin和scanf区别

    这也就是最常见使用 Linux 函数调用时内存残像来实现格式化字符串攻击方法之一,所以在使用时候一定要注意。 2) 标志符(flags) 它用于规定输出格式,如表 2 所示。...格式说明符一般形式如下(方括号 [] 中为可选项): %[][width][length] type_char /用中文标识如下:/ %[][宽度][长度]类型符 在使用 scanf 函数时候... 1 个 scanf 读取了“h”,但是输入缓冲区里面还留有一个“\n”,于是 2 个 scanf 读取这个“\n”,然后输入“e”和 2 个回车符“\n”。...同理, 3 个 scanf 读取了“e”, 4 个 scanf 读取了 2 个回车符“\n”, 5 个 scanf读取了“l”。...由此可见,在使用 scanf 函数时,如果不及时刷新输入缓冲区,有时会出现莫名其妙错误。对于这类问题,其实解决办法有许多,比如可以使用“fflush(stdin);”语句来刷新输入缓冲区。

    1K40

    C语言----深入理解指针(3)

    p中 printf("%c\n", *p);//打印a //如何打印一整个字符串呢?...printf("%s\n", p);//使用%s打印字符串时候,只需要提供首字符地址就行了 //*p='q'------不允许修改,因为p指向是常量字符串,常量字符串不能被修改...和str4存放都是h地址,存放是同一个地址 所以二者相同 这个代码里面的比较,不是比较字符串,比较是地址 */ 使用%s打印字符串时候,只需要提供首字符地址就行了 char* p = ".../使用数组指针存放第一行地址,传过来是一个一维数组,那么我们就需要一个数组指针来接收 {//这个数组指针并不是指向二维数组,而是指向是这个二维数组第一行 //两层循环,第一层循环打印行...(*(arr + i))[j] 表示使用 [] 运算符访问该一维数组中下标为 j 元素,即获取 i 行、 j 列元素值。 4.函数指针变量 变量有地址,数组有地址,函数是否有地址呢?

    8310

    如何深入掌握C语言递归函数(详解)

    目录 什么是递归 两个基本要素 递归关系 结束条件 例题 按顺序打印整形数组 分析问题 参考代码  求字符串长度(编写函数不允许创建临时变量) 分析问题  求n阶乘 参考代码 斐波那契数列 函数化思想如下...;//开始返回 } int main() { //接受一个整型值(无符号),按照顺序打印每一位 unsigned int num = 0; scanf("%u", &num);//1234...print(num); return 0; }  这样看来递归还是非常有意思哈  求字符串长度(编写函数不允许创建临时变量) 分析问题  找到递归关系:想特点,字符串是以‘\0’结尾...0; } 再来,来试试思考下面这个问题  求n阶乘 分析问题如何逼近结果,思考两个要素 参考代码 int Fac(int n) { if (n <= 1) return 1; else...8, 13, 21, ··· 斐波那契数列是一个从第三开始,每一都等于前两之和数列问题 函数化思想如下 参考代码 int count = 0; int Fib1(int n) {

    77520

    轻松拿捏C语言——关于 printf 和 scanf 那些事儿

    使用这个函数之前,必须在源码文件头部引入这 个头文件。 1.2占位符 printf() 可以在输出文本中指定占位符。 “占位符”就是这个位置可以用其他值代入。...占位符第一个字符一律为百分号 % ,⼆个字符表示占位符类型, %d 表示这里代入值必须是⼀个整数 printf()第二个参数就是替换占位符值,这里就是5 它替换掉了%d,所以打印出了 五一假期放...%lu :unsigned long int 类型 %Lf :long double 类型浮点数 %p :指针(用来打印地址)。 %s :字符串。...二、scanf 我们可以用scanf给变量输入值,然后再用printf再将其打印在屏幕上。...:%d\n", score); return 0; } 注:标准输入⼀般指就是键盘,标准输出⼀般指就是屏幕 2.1基本用法 scanf() 函数用于读取用户键盘输⼊。

    37510

    太原面经分享:如何用js实现返回斐波那契数列n个值函数

    ,求n个数值” 不得不承认,当时我第一眼看这道题大脑里是懵逼。后来才想起来,这不就是数学题里那个斐波那契(肥婆纳妾)数列么!从第三个数开始,每个数都是前两个数和。...那其实这个问题还可以换个问法:实现一个函数,输入一个数字n能返回斐波那契数列n个值。 大概思路是这样: 首先我们要把特殊部分给独立出来做个判断,哪些数字是特殊呢?...很明显是斐波那契数列前两,而斐波那契数列前两都为1。然后定义三个变量,firstNum、secondNum、total,分别代表着第一个数字,第二个数字,还有他们俩之和。...以此根据传入n来不断地循环叠加,达到想要total值,最后return返回出去。...你猜~ 我想说的话 目前为止我也参加过很多次大大小小前端面试,确实也听说过有不少面试官会问到一些算法。通常会涉及,是链表、树、字符串、数组相关知识。

    1K30

    【C语言】printf和scanf函数详解

    :用双引号直接引起需要输出内容,比如: 如上图所示,用双引号将hello world直接引起就可以将其打印出来 占位符:函数printf() 可以在输出⽂本中指定占位符。...• %Le:科学计数法表⽰long double类型浮点数。 • %Lf:long double类型浮点数。 •%n :已输出字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中。...可以不用将所有写出字符串字符打印出来,只打印部分字符,使用方法与限定小数位数相似,如: 这里就只打印了前五个字符hello,没有将所有字符打印出来 二、scanf 基本介绍:scanf...: (1)%c:它接收字符型,空格也属于字符,所以scanf读取字符型数据时不会跳过空格,而是会把空格接受起来 (2)%s:它接收字符串,它规则是,从当前⼀个⾮空⽩字符开始读起,直到遇到空⽩字符...上⾯⽰例中,% * c 就是在占位符百分号后⾯,加⼊了赋值忽略符*,表⽰这个占位符没有对应变量,解读后不必返回,此时只需要使用printf函数打印时加上固定格式即可统一格式,即使中间符号不对也不会出错

    16910

    第九节(结构、联合typedef)

    本次将介绍以下内容: ●什么是简单结构和复杂结构 ●如何声明并定义结构 ●如何访问结构中数据 ●如何创建包含数组结构和包含结构数组 ●如何在结构中声明指针,如何声明指向结构指针,如何将结构作为参数传递给函数...7890 format: "); scanf("%s", list[i].phone); } // 打印两行空行 printf("\n\n"); // 利用循环显示数据...结构中每个指针成员都指向字符串1个字节,这些字符串储存在内存中其他地方。 上图解释了如何在内存中储存包含char类型数组成员,结构,可将下图与上图作比较。...因此,可以使用下面的语句来打印数组1个元素内容: printf("&d &s", P_part->number, P_part->name); 那么,如何打印数组中所有元素?...26行调用print_function() 完成打印任务。 28~30行和32^ 34行重复以上步骤分别存储并打印其他类型 print_function() 函数是该程序核心。

    22220

    初识C语言·递归

    笔者看法是内存在栈区为main函数开辟函数栈帧,无限开辟会导致栈区空间不足,所以会栈溢出。 使用递归前,我们应该知道,递归思想是:大事化小。...printf("%d", ret); return 0; } 那么,如何使用递归实现阶乘呢?...1 1 2 3 5 8 13 21 ……这样,前两个元素是1,且从第三开始任意一都等于前两相加,就被称为斐波那契数列。那么我们现在要做是,输入任意一个数,求这项值。...都一样。 3)递归实现打印数字每一位 比如输入一个数,1234,那么打印出来就是1 2 3 4。同样,还是先不用递归打印。...printf("%d\n", count); printf("%d\n", ret); return 0; } 我们求40时候,我们顺便求一下第三值会被用多少次。

    11410
    领券