全国计算机等级考试二级教程-C语言程序设计_第11章_对函数的进一步讨论

例11.2

通过给 trans 函数传送不同的函数名,求 tan x 和 cot x 值。

 1 #include <stdio.h>
 2 #include <math.h>
 3 double tran(double(*) (double), double(*) (double), double);        /* 函数说明语句 */
 4 main()
 5 {
 6     double y, v;
 7     v = 60 * 3.1416 / 180.0;
 8     y = tran(sin, cos, v);        /* 第一次调用 */
 9     printf("tan(60)=%10.6f\n", y);
10     y = tran(cos, sin, v);        /* 第二次调用 */
11     printf("cot(60)=%10.6f\n", y);
12 }
13 double tran(double(*f1) (double), double(*f2) (double), double x)
14 {
15     return (*f1) (x) / (*f2)(x);
16 }

例11.3

用递归的方法求n!

求n!可用以下数学关系表示:

n!= 1           当n=0时

n!= n * ( n - 1 )!  当n>0时

 1 #include <stdio.h>
 2 int fac(int n)
 3 {
 4     int t;
 5     if (n == 1 || n == 0)
 6     {
 7         return 1;
 8     }
 9     else
10     {
11         t = n*fac(n - 1);
12         return t;
13     }
14 }
15 main()
16 {
17     int m, y;
18     printf("Enter m:");
19     scanf("%d", &m);
20     if (m < 0)
21     {
22         printf("Input data error !\n");
23     }
24     else
25     {
26         y = fac(m);
27         printf("\n%d!=%d\n", m, y);
28     }
29 }

例11.4

用递归算法根据以下求平方根的迭代公式求某数 a 的平方根:

x1 = (x0 + a / x0) / 2
 1 #include <stdio.h>
 2 #include <math.h>
 3 double mysqrt(double a, double x0)
 4 {
 5     double x1;
 6     x1 = (x0 + a / x0) / 2.0;
 7     if (fabs(x1 - x0) > 0.00001)
 8     {
 9         return mysqrt(a, x1);
10     }
11     else
12     {
13         return x1;
14     }
15 }
16 main()
17 {
18     double a;
19     printf("Enter a:");
20     scanf("%lf", &a);
21     printf("The sqrt of %f=%f\n", a, mysqrt(a, 1.0));
22 }

123

时间: 2024-10-07 06:05:47

全国计算机等级考试二级教程-C语言程序设计_第11章_对函数的进一步讨论的相关文章

全国计算机等级考试二级教程-C语言程序设计_第15章_位运算

原码 也叫 符号-绝对值码 最高位0表示正,1表示负,其余二进制位是该数字的绝对值的二进制位. 原码简单易懂 加减乘除复杂,存在加减乘除四种运算,增加了CPU的复杂度 零的表示不唯一 没有在计算机中应用 反码 反码运算不便,也没有在计算机中应用. 移码 移码表示数值平移n位,n称为移码量 移码主要用于浮点数的阶码的存储 补码 已知十进制求二进制 求正整数的二进制 除2取余,直至商为零,余数倒叙排序. 求负整数的二进制 先求与该负数相对应的正整数的二进制,然后将所有位取反,末尾加1,不够位数时,左

全国计算机等级考试二级教程-C语言程序设计_第10章_字符串

字符串排序有2种: 1长度strlen 2比较strcmp 读入一个3行的二维字符串数组,使用求字符串长度函数strlen,进行从大到小排序,使用冒泡排序. 1 #include <stdio.h> 2 #include <string.h> 3 main() 4 { 5 int i, j; 6 char t[20], a[3][20]; 7 for (i = 0;i < 3;i++) /* 为a表赋值 */ 8 { 9 gets(a[i]); 10 } 11 12 prin

全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

例14.2 对比向函数传递结构体数组名和向函数传递结构体变量名的区别. 1 #include<stdio.h> 2 3 typedef struct 4 { 5 int num; 6 double mark; 7 }REC; 8 9 void sub1(REC x) 10 { 11 x.num = 23; 12 x.mark = 81.5; 13 } 14 15 void sub2(REC y[]) 16 { 17 y[0].num = 12; 18 y[0].mark = 77.5; 19

全国计算机等级考试二级教程-C语言程序设计_第16章_文件

例16.1 把从键盘输入的文本按原样输出到名为 file_a.dat 的文件,用字符@作为键盘输入结束标志. (1)打开文件. (2)从键盘输入一个字符. (3)判断输入的字符是否是@.若是,结束循环,执行步骤(7). (4)把刚输入的字符输出到指定的文件中. (5)从键盘输入一个字符. (6)重复步骤(3)至(5). (7)关闭文件. (8)程序结束. 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 main() 5 { 6 FILE *

全国计算机等级考试二级C语言程序设计考试大纲(2013年版)

转自:http://www.freencre.com/c2_artde_28.html 基本要求 1. 熟悉Visual C++6. 0集成开发环境. 2. 掌握结构化程序设计的方法,具有良好的程序设计风格. 3. 掌握程序设计中简单的数据结构和算法并能阅读简单的程序. 4. 在Visual C++6. 0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力. 考试内容 一.C语言程序的结构 1. 程序的构成,main函数和其他函数. 2. 头文件,数据说明,函数的开始和结束标志以

全国计算机等级考试二级Java语言程序设计考试大纲(2013年版)

转自: 全国计算机等级考试,计算机二级,免费培训,免费视频教程,永久免费,免费培训IT  基本要求 1.掌握Java语言的特点.实现机制和体系结构. 2.掌握Java语言中面向对象的特性. 3.掌握Java语言提供的数据类型和结构. 4.掌握Java语言编程的基本技术. 5.会编写Java用户界面程序. 6.会编写Java简单应用程序. 7.会编写Java小应用程序(Applet). 8.了解Java语言的广泛应用.    考试内容  一.Java语言的特点和实现机制 二.Java体系结构 1.

全国计算机等级考试二级Web程序设计考试大纲(2013年版)

 转自: 全国计算机等级考试,计算机二级,免费培训,免费视频教程,永久免费,免费培训IT  基本要求 1. 理解Web工作原理,了解Web技术基础. 2. 理解超文本传输协议HTTP的基本概念和模型,掌握HTTP的消息格式.常用消息头.请求消息和常用请求方法.响应消息和常用响应状态.      3. 熟练掌握超文本标记语言HTML文档的结构.常用文档元素的含义和基本使用方法.     4. 理解样式表语言CSS的基本概念和作用,掌握CSS的基本语法和使用方法. 5. 掌握脚本语言JavaScri

全国计算机等级考试科目中加入 二级Python

2018年9月份在全国计算机等级考试科目中加入"二级Python",但现在还没有出台完整详细的考试大纲,官方网站也仅仅是简单说明了考试时长(120分钟).大概形式(网络环境.无纸化)和环境要求(Python 3.5.2以上IDLE),考试大纲暂时还没有提供下载. 新增的二级Python考试科目内容肯定会以基本数据类型.运算符.内置函数.选择结构与循环结构.函数定义与调用.面向对象编程基础.简单的文件操作和数据库操作为主,重点考查基本功,并不会涉及太多标准库(比较常用的像math.ran

全国计算机等级考试考试环境全套

全国计算机等级考试考试环境 共享一个考试环境搭建下载地址.下载方法:点击说明栏:下面的下载1 级别 科目名称 环境 说明 一级 计算机基础及MS Office应用 Windows 7+MS Office 2010 下载1 计算机基础及WPS Office应用 Windows 7+WPS Office 2012 下载1 计算机基础及Photoshop应用 Windows 7+Adobe Photoshop CS5 下载1 二级 C语言程序设计 Windows 7+Visual C++ 6.0 下载