C和指针 (pointers on C)——第七章:函数(下)习题

这次的题目很经典。

1、Hermite Polynomials

2、求两个整数最大公约数

3、ATOI

4、可变参数列表的使用

具体的题目在这里:

题目请见 http://download.csdn.net/download/wangpegasus/5701765

1、

int hermite(int n, int x)
{
	if (n < 1)
	{
		return 1;
	}
	else
		if (n == 1)
		{
			return 2 * x;
		}
		else
		{
			return 2 * x * hermite(n-1, x) - 2 * (n-1) * hermite(n-2, x);
		}
}

2、

int gcd(int M, int N)
{
	if (M <= 0 || N <= 0)
	{
		return 0;
	}
	else
		if ( M%N == 0 )
		{
			return N;
		}
		else
		{
			return gcd(N, M%N);
		}
}

3、

int ascii_to_integer(char *string)
{
	int result;
	result = 0;
	while (*string >= '0' && *string <= '9')
	{
		result *= 10;
		result += *string - '0';
		string++;
	}
	while (*string != '\0')
	{
		*string <= '0'|| *string >= '9';
		result = 0;
	}
	return result;

}

4、

#include "stdarg.h"

int max( int n_value, ...)
{
	va_list va_arg;
	int max_value = 0;
	va_start(va_arg, n_value);

	for (int i = 0; i < n_value; i++)
	{
		if (max_value < va_arg(va_arg, int))
		{
			max_value = va_arg(va_arg, int);
		}
	}
	va_end(va_arg);
	return max_value;
}

C和指针 (pointers on C)——第七章:函数(下)习题,布布扣,bubuko.com

时间: 2024-08-05 04:42:20

C和指针 (pointers on C)——第七章:函数(下)习题的相关文章

第七章 函数

第七章  函数 7.1  函数的基础知识 要使用函数,必须完成如下工作: Ø  提供函数定义 Ø  提供函数原型 Ø  调用函数 7.1.1  函数的定义 函数总体来说可以分为两类,一类是没有返回值的,另一类是具有返回值的,两类的函数定义的格式如下 void functionName(parameterList) { statement(s) return; //可以有也可以没有 } typeName functionName(parameterList) { statement(s) retu

C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和、部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用break来结束循环的

/* 第七章函数的基本知识 */ /*01)c++对于返回值有一定的限制:可以是常量.变量.指针.结构对象或表达式,但不可以是数组02)c++返回数组的方法:将数组作为结构会对象组成部分来返回03)函数遇到return则结束该函数04)如果一个函数的两房额参数类型相同,则必须分别制定每个参数的类型,而不能像声明常规变量那样,将声明组合在一起05)*/ //本代码注意double类型的写法以及double和int类型数据的转换 1 #include <iostream> 2 3 void che

语法》第七章 函数

(本文为阮一峰js标准教程的学习笔记,旨在总结该教程中涉及的知识点大纲及个人所做的一些拓展,方便作为"目录"或者"大纲"复习和查漏补缺,详细内容请参见阮一峰教程原文) 第二部分 语法 ************第七章 函数************ 一.概述函数就是一段可以反复调用的代码块.函数还能接受输入的参数,不同的参数会返回不同的值.1.函数的三种声明方法1.1function命令[标准函数声明方法]function 函数名(传入参数){函数体} 1.2采用函数表

C++primer第七章 函数

本章将介绍函数的定义和声明.然后具体分析三类特殊的函数:内联(inline)函数.类成员函数和重载函数. 7.1. 函数的定义 函数由函数名以及一组操作数类型唯一地表示.函数的操作数,也即形参,在一对圆括号中声明,形参与形参之间以逗号分隔.函数执行的运算在一个称为函数体的块语句中定义.每一个函数都有一个相关联的返回类型. 函数的调用 C++ 语言使用调用操作符(即一对圆括号)实现函数的调用.正如其他操作符一样,调用操作符需要操作数并产生一个结果.调用操作符的操作数是函数名和一组(有可能是空的)由

C和指针 第七章 函数递归与迭代

C语言通过运行时堆栈支持递归函数的实现,递归函数时直接或者间接调用自身的函数,经常有人拿斐波那契实现当做递归的实现,然后这样做效率并不高. n < 1;  Fib(1) =1 n = 2;  Fib(2) = 1 n > 2; Fib(n) = Fib(n - 1) + Fib(n - 2); 由于每个递归调用都会触发另外两个递归调用,而这两个调用还将继续触发下去,这样会有大量的冗余计算.例如:计算Fib(10)过程,Fib(3)被计算了21次: #include <stdio.h>

JavaScript高级程序设计:第七章 - 函数

六.函数表达式 //把函数当成值来使用的情况下,都可以使用匿名函数 递归 //递归函数是在一个函数通过名字调用自身的情况下构成的 //使用函数声明来定义递归函数可能会出现问题 //这是一个经典的递归阶乘函数 function factorial(num) { if (num<1){ return 1; }else{ return num * factorial(num-1); } } //使用函数声名来定义该递归函数时,函数名和函数体会产生耦合. //当其他指针指向该函数体的时候,由于执行ano

JavaScript高级程序设计(第三版)第七章 函数表达式

一种是函数声明:另一种是函数表达式. 函数声明提升: say Hi(); function say Hi(){ alert("Hi!"); }      //这个例子不会抛出错误,因为在代码执行之前会先读取函数声明. 匿名函数:var functionName=function(arg0,arg1,arg2){函数体}; sayHi();   //错误:函数还不存在 var sayHi=function(){ alert("Hi!"); }; //不要这样做    

读书笔记 - js高级程序设计 - 第七章 函数表达式

闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存.过度使用闭包可能会导致内存占用过多,我们建议读者只在绝对必要时再考虑使用闭包 模块模式   增强的模块模式   特权方法 有权访问私有变量的公有方法叫做特权方法 块级作用域   实现单例的特权方法  

第七章 函数表达式

闭包 在一个函数内部创建一个子函数,子函数可以访问父函数作用域中的变量. function f (propertyName) { //创建 f()函数时,会创建一个预先包含全局变量的作用域链,这个作用域链中包含函数f(),并把这个作用域链保存再内部的[[scope]]属性中 return function(obj1, obj2) { //匿名函数(子函数)把父函数(f())的活动对象添加到它自己的作用域链中. var value1 = obj1[propertyName]; //匿名函数被返回后

七、函数下

函数式编程 在python中,函数是一等对象 一等对象一般都会具有如下特点: 对象是在运行时创建的 能赋值给变量或作为数据结构中的元素 能作为参数传递 能作为返回值返回 高阶函数 高阶函数至少要符合以下两个特点中的一个 接受一个或多个函数作为参数 将函数作为返回值返回 接受函数作为参数,或者将函数作为返回值得函数是高阶函数 #定义一个函数#可以将制定列表中的所有的偶数,保存到一个新的列表中返回def fn(list): new_list = [] for i in list: if i % 2