c-函数指针(求奇数偶数的和)
#include <stdio.h> /*
编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+...+1/n,当输入 n 为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数).
*/ //1/2 + 1/4 +...+ 1/n;
float
even(int n) {
float sum = ;
for(int i = ; i <=n; i+=)
sum += (float) / i;
return sum;
} //1/1 + 1/3 +...+ 1/n;
float
odd(int n) {
float sum = ;
for(int i = ; i <= n; i+=)
sum += (float)/i;
return sum;
} //函数指针为参数.
float
sum(float (*s)(int), int i) {
return (*s)(i);
} // main函数调用
int main() {
int i;
printf("请输入一个正整数:");
scanf("%d", &i);
float s;
if(i % == )
s = sum(even, i);
else
s = sum(odd, i);
printf("sum=%f", s);
}
ref: C语言函数指针基础
c-函数指针(求奇数偶数的和)的更多相关文章
- 求奇数偶数的和,,利用while循环
static void Main(string[] args) { while (true) { try ...
- C语言:通过函数指针来完成两个数的加减乘除
// // main.c // Function_pointer // // Created by mac on 15/8/2. // Copyright (c) 2015年. All rig ...
- 编程算法 - 求1+2+...+n(函数指针) 代码(C++)
求1+2+...+n(函数指针) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 求1+2+...+n, 要求不能使用乘除法\for\whi ...
- C语言:判断字符串是否为回文,-函数fun将单向链表结点数据域为偶数的值累加起来。-用函数指针指向要调用的函数,并进行调用。
//函数fun功能:用函数指针指向要调用的函数,并进行调用. #include <stdio.h> double f1(double x) { return x*x; } double f ...
- 成员函数指针与高效C++委托 (delegate)
下载实例源代码 - 18.5 Kb 下载开发包库文件 - 18.6 Kb 概要 很遗憾, C++ 标准中没能提供面向对象的函数指针. 面向对象的函数指针也被称为闭包(closures) 或委托(del ...
- 成员函数指针与高性能C++委托
1 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值. ...
- [转]成员函数指针与高性能的C++委托
原文(作者:Don Clugston):Member Function Pointers and the Fastest Possible C++ Delegates 译文(作者:周翔): 成员函数指 ...
- 你必须知道的指针基础-7.void指针与函数指针
一.不能动的“地址”—void指针 1.1 void指针初探 void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据.和用int表示指针异曲同工,只是更明确是“指针” ...
- iOS学习09C语言函数指针
本次主要学习和理解函数指针 1.函数指针 void printValue(int number) { printf("number = %d\n", number); } int ...
随机推荐
- 正则表达式:根据逗号解析CSV并忽略引号内的逗号
需求:解析CSV文件并忽略引号内的逗号 解决方案: public static void main(String[] args) { String s = "a,b,c,\"1,0 ...
- unix io 模型浅析
POSIX中对同步IO和异步IO的规定: 同步IO操作:引起进程的阻塞直到IO操作完成,异步IO操作:IO操作不会引起进程阻塞 在UNIX下,有5中操作模型: 阻塞IO,非阻塞IO,IO复用,信号驱动 ...
- PlatformTransactionManager
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactio ...
- paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置..
paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置.. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址: ...
- Buffer Sort
BUFFER (SORT) Description Performs a memory sort on a row source CREATE TABLE t1 (c01 NUMBER); CREAT ...
- 如果你不好好玩printf
昨天在跟Fiona讨论printf导致程序Crash的问题,就花了点时间看看究竟什么情况下会这样,有兴趣的童鞋可以看看:) 只要是玩过C或者C++的童鞋们,对printf肯定是再熟悉不过了.下面有几个 ...
- 数据结构(线段树):BZOJ 1568 [JSOI2008]Blue Mary开公司
1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 602 Solved: 214[Submit ...
- 《精通CSS:高级Web标准解决方案》学习笔记(下)
1. background-position: left center; 两个参数分别是x和y轴方向的position 2. background-position: 10% 20%; 用百分数表示时 ...
- Threading Module源码概述(一)
Python的Threading模块是建立在thread module基础上的一个模块,在threading模块中,暴露着许多thread模块的属性.比如threading._get_ident实际上 ...
- JavaScript中的[]和{}
最早开始对js中括号的使用有疑问是在交互2值的时候: a = [b,b=a][0]; 详见JavaScript交换两个变量值的七种解决方案 因为 [[]][0] 的意思是:获取 [[]] 的第一个元素 ...