几年前做家教写的C教程(之三专讲了递归和斐波那契)
C语言学习宝典(3)
数组:
一维数组的定义: 类型说明符 数组名[常量表达式]
例如: int a[10];
说明:(1)数组名的命名规则和变量名相同,遵循标示符命名规则
(2)在定义数组时需要指定数组个数,即数组长度
(3)变量表达式中可以包括常量和符号常量,不能包含变量。
一维数组的应用: 数组名[下标]
一维数组的初始化:(1)在定义数组时对数组元素赋予初值
Int a[10]={0,1,2,3,4,5,6,7,8,9}
(2)可以只给一部分元素赋值
Int a[10]={0,1,2,3,4}
(3)对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度
Int a[]={1,2,3,4}
函数:
函数定义的一般格式:类型标示符 函数名() { 声明部分语句}
函数参数:在定义函数时,函数名后面括号中的变量名称为”形式参数”,在主调函数中调用一个函数时,函数名后面括号中的参数称为”实际参数”
函数调用:要首先声明,要合乎函数的规范
例1 有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到3个月后又生一对兔子,假设所有兔子不死,问每个月的兔子总数为多少?(Fibonacci问题)
/*****************************
功能:求Fibonacci数
*******************************/
#include <stdio.h>
void main()
{
long int f1,f2;
int i;
f1=;f2=;
for(i=;i<=;i++)
{
printf("%12ld %12ld",f1,f2);
if(i%==)
printf("\n");
f1=f1+f2;
f2=f2+f1;
}
}
例2 利用数组解决Fibonacci问题
/************************************
功能:利用数组解决Fibonacci问题
***********************************/
#include <stdio.h
void main()
{
int i;
long int f[]={,};
for(i=;i<;i++)
{
f[i]=f[i-]+f[i-];
}
for(i=;i<;i++)
{
if(i%==)
printf("\n");
printf("%12ld",f[i]);
}
printf("\n");
}
例2 利用递归函数解决Fibonacci问题
/********************
功能:利用递归函数调用解决Fibonacci问题
********************/
#include <stdio.h>
void main()
{
long int Fibonacci(int i);
long int f;
int i;
for(i=;i<;i++)
{
f=Fibonacci(i);
if(i%==)
printf("\n");
printf("%ld ",f);
}
}
long int Fibonacci(int i)
{
long int f;
if(i==||i==)
f=;
else
f=Fibonacci(i-)+Fibonacci(i-);
return f;
}
几年前做家教写的C教程(之三专讲了递归和斐波那契)的更多相关文章
- 几年前做家教写的C教程(之一)
C语言学习宝典 首先让我们认识什么是C语言. C语言是一种计算机开发语言,是一种非常基础的开发语言.能够用C语言做很多事情.C语言是顺序执行的程序. 程序应该包括数据描述,数据操作. C语言的数据类型 ...
- 几年前做家教写的C教程(之五专讲结构体与文件操作)
C语言学习宝典(5) 结构体: 将不同类型的数据组合成为一个有机的整体,这个整体就是一个结构体. 例如: Struct student { Int name; Char sex; Float scor ...
- 几年前做家教写的C教程(之四专讲了指针与汉诺塔问题)
C语言学习宝典(4) 指针:可以有效的表示复杂的数据结构,能动态的分配动态空间,方便的使用字符串,有效的使用数组,能直接处理内存单元 不掌握指针就没有掌握C语言的精华 地址:系统为每一个变量分配一个内 ...
- 几年前做家教写的C教程(之二)
C语言学习宝典(2) 认识C语言中的运算符: (1)算术运算符 (+ - * / %) (2)关系运算符 (> < == >= <= != ) (3 ...
- Java-Runoob-高级教程-实例-方法:04. Java 实例 – 斐波那契数列
ylbtech-Java-Runoob-高级教程-实例-方法:04. Java 实例 – 斐波那契数列 1.返回顶部 1. Java 实例 - 斐波那契数列 Java 实例 斐波那契数列指的是这样一 ...
- php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习)
php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习) 一.总结 1.递归不优化的话,30层开外就有点吃力了 2.php因为定义变量的时候不用定义变量类型,所以数组里面的类型也是p ...
- js写出斐波那契数列
斐波那契数列:1.1.2.3.5.8.13.21.34.…… 函数: 使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. for循环: 从底层向上运 ...
- D - 1sting(相当于斐波那契数列,用大数写)
Description You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ...
- 在sqlserver中做fibonacci(斐波那契)规律运算
--利用sqlserver来运算斐波那契规律 --利用事物与存储过程 declare @number intdeclare @A intdeclare @B intdeclare @C int set ...
随机推荐
- 2015安徽省赛 H.数7
http://xcacm.hfut.edu.cn/problem.php?id=1212 模拟大发 #include<iostream> #include<cstdio> #i ...
- [ruby on rails] 深入(2) ruby基本语法
1. 调试&注释&打印输出 1.1 调试 ruby属于解释型语言,即脚本,在linux上,脚本的执行无非三种: 1. 用解释器运行脚本 解释器 脚本文件 即:ruby 脚本文件 2. ...
- C++ 输出调试的一些技巧
主要利用了宏和stderr... #define enable_debug #ifdef enable_debug FILL some macros/functions here #else /// ...
- Fibonacci 2
Fibonacci 2 感谢613的提供的题面 题目描述 给定\(S_0,S_1\),\(S_n=S_{n-1}+S_{n-2}+F_nF_{n-1}\),求\(S_n\bmod 2^{32}\). ...
- Nunit-Writing Tests
Nunit 测试可以被任意支持attributes的.net语言使用 Attributes被用于去标识测试类和测试方法,然后通过不同的方式修改他们的行为 Assertions针对一个或多个约束,测试一 ...
- DIV的摇晃效果---jquery实现
DIV的摇晃效果---jquery实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- Java 抽象类与oop三大特征
面向对象主要有三大特性:继承和多态.封装. 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: abstract voi ...
- Rubix - ReactJS Powered Admin Template 后台管理框架
Rubix - ReactJS Powered Admin Template 后台管理框架,使用 ReactJS. http://rubix400.sketchpixy.com/ltr/charts ...
- Context.managedQuery()和context.getContentResolver()获取Cursor关闭注意事项
在获取图片缩略图时,获取游标并进行相关的操作. Cursor cursor = context.getContentResolver().query(MediaStore.Images.Thumbna ...
- effective OC2.0 52阅读笔记(三 接口与API设计)
第三章:接口与API设计 15 用前缀避免命名空间冲突 总结:避免重名符号错误的唯一办法是变相实现命名空间.为所有符号都加上命名前缀.类和分类都应加三字前缀.注意类实现文件中的纯C函数及全局变量,是算 ...