C语言经典例76-根据n的奇偶性累加

C语言入门130题-OJ C入门130题 阅读详情

1 题目

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。

2 分析

首先判断n的奇偶性,通过if控制语句对2取余来判断,再根据n的奇偶性调用不同的计算方法,这里把两个计算方法写成两个函数,不难发现累加的规律为当n为偶数时,所有累加项都是以1为分子,分母是从2开始的偶数序列;当n为奇数时,所有累加项分子也是1,分母则是从1开始的奇数序列。

注:本题使用函数指针来实现。

3 实现

#include <stdio.h>
#include <stdlib.h>
double evenumber(int n);
double oddnumber(int n);
 
int main()
{
    int n;
    double sum;
    double (*pfunc)(int); // 定义函数指针
    printf("请输入n:");
    scanf("%d", &n);
    if (n % 2 == 0) { // 判断奇偶
		pfunc = evenumber; // 偶数函数
	} else {
		pfunc = oddnumber; // 奇数函数
	} 
    sum = (*pfunc)(n); // 通过指针调用函数
    printf("%lf\n", sum);
    return 0;
}

// 当n为偶数时
double evenumber(int n)
{
    double s = 0; // 累加和
	double a = 0; // 保存每一项的临时变量
    for (int i = 2; i <= n; i += 2) {
        a = (double)1/i; // 该除法会出现小数,所以要强制转换
        s += a; // 累加
    }
    return s;
}

// 当n为奇数时
double oddnumber(int n)
{
    double s = 0; // 累加和
	double a = 0; // 保存每一项的临时变量
    for (int i = 1; i <= n; i += 2) {
        a = (double)1/i; // 该除法会出现小数,所以要强制转换
        s += a; // 累加
    }
    return s;
}

4 运行结果

PS E:\C++WorkSpace> cd "e:\C++WorkSpace\" ; if ($?) { g++ FFF.cpp -o FFF } ; if ($?) { .\FFF }
请输入n:10
1.141667
PS E:\C++WorkSpace> cd "e:\C++WorkSpace\" ; if ($?) { g++ FFF.cpp -o FFF } ; if ($?) { .\FFF }
请输入n:51
2.610834
格式保留加密(FPE)原理、C语言实现与生产环境应用指南 在数据安全领域,加密技术是保护敏感信息的核心手段。传统加密算法(如AES)虽然安全,但会将数据转换为随机密文,破坏原有格式,导致其在需要保持数据结构和业务规则的系统(如金融、电信)中难以直接应用。格式保留加密(FPE)作为一种特殊加密技术,其核心原理在于通过有限集合上的伪随机置换,在保证加密强度的同时,确保密文与明文在长度和格式上完全一致。这项技术的核心价值在于实现了数据安全与业务连续性的平衡,允许加密后的数据无缝替换原始数据,无需改造现有数据库、应用逻辑或校验规则。其典型应用场景包括支付卡信息脱敏、个人身 阅读详情

相关推荐

AI协议助手:法律文本解析与智能问答技术解析

自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。

weixin_29053577的博客 128

java 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。代码:import java.util.Scanner; public class Prog30{ public static void main(String[] args){ int[]

哦,也好的博客 1万+

硬件工程师入门进阶,一文搞懂,看这篇就对了

每家公司的datasheet都有严格的规范,及独特的风格,有时候还会穿插一些原理性的介绍,比如ADI公司的一些ADC/DAC器件资料里面,还会包含AD/DA转换的原理性讲解内容,Datasheet既可以是我们设计上的好帮手,也是学习的好资料。在出货量大的产品中,尽量减少物料种类,比如开头说的,1%的电阻不得不用,那么5%的替换成1%的,物料种类就减少一种,量就大了,能不能争取更优的价格呢?如果说前面学的是内功,那这一关,是招式、是工具的使用,原理图和PCB设计都有对应的工具,教程也很多,且比较容易上手。

一路带飞的博客 5万+

C语言例4-16:从键盘输入一个整数,判断其奇偶

【代码】C语言例4-16:从键盘输入一个整数,判断其奇偶。

grace♥的博客 1991

数据字典实战:如何用Excel快速搭建你的第一个数据字典(附模板下载)

本文针对中小团队在软件开发中面临的术语不一致问题,提供了一套使用Excel快速搭建数据字典的实战指南。文章详细讲解了核心字段设计、填充示例、高阶技巧及团队协作维护流程,旨在通过这一轻量级工具统一团队共识、提升开发效率,并附有实用模板下载。

weixin_29303701的博客 380

BIOS更新后PIN不可用怎么办?从原理到实操的完整修复指南

在计算机维护中,BIOS更新是常见的固件升级操作,但其引发的登录异常却常让用户措手不及。Windows Hello PIN并非传统密码,它通过TPM芯片与设备启动环境(PCR状态)强绑定,一旦主板固件或安全启动配置改变,TPM便会拒绝释放密钥,导致“由于此设备上的更改,你的PIN不再可用”。理解这一原理后,恢复路径清晰可控:优先尝试密码登录,或通过WinRE替换utilman.exe创建临时管理员,必要时还需处理BitLocker恢复密钥。本文面向系统维护与数据安全场景,系统梳理PIN失效的恢复流程与避坑方

weixin_31364787的博客 361

Java基础算法题(39):编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数) 。

查看所有50道基础算法题请看: Java的50道基础算法题 package Demo39Pointer_Function; //首先定义一个接口 @FunctionalInterface public interface Sums{ public double sum(int n); } package Demo39Pointer_Function; // 定义一个类,包含两个方法,分别...

凉拌糖醋鱼 1573

配置 SAP Web Dispatcher 的实战指南:打通 SAP Fiori、SAP Gateway 与前端系统的关键一跳

SAP Web Dispatcher 在 Fiori 架构中扮演关键角色,作为统一入口处理 HTTPS 请求、实现安全代理和流量分发。它将分散在不同系统的访问路径统一收口,解决浏览器同源策略限制,集中管理 HTTPS 终止和客户端信息传递。典型配置中,Web Dispatcher 监听 443 端口,根据路径将 OData 请求转发至 Gateway 系统,静态资源请求送至前端服务器。SSL 相关配置(如 PSE 文件)确保安全通信,而路由规则(wdisp/system_xx)决定请求转发目标。实施时需注意

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 102

编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”

#include "stdio.h"int main(void) { int n = 0; printf("please input a number:"); scanf_s("%d", &n); if (0 == n % 2) printf("even\n"); else printf("odd\n"); return 0;

白水的博客 5万+

YOLOv8-Pose NCNN Android部署优化实践

本文探讨了在Android设备上高效部署YOLOv8-Pose姿态检测模型的优化实践。通过修改Pose头部导出逻辑,分离后处理到C++端实现,并替换SiLU激活函数为ReLU,显著提升了计算效率。具体步骤包括模型结构优化、ONNX导出、NCNN转换与算子融合,最终在Android端实现了30FPS的稳定推理性能。项目提供了完整的优化思路和实现方案,对移动端AI应用开发具有参考价值。

FJN110的博客 323

Qt Creator 下载和安装

在线安装程序是一个小型的安装程序,它将在您的计算机上下载和安装 Qt Creator。离线安装程序是一个较大的安装包,您可以将其保存在本地,并在没有网络连接的情况下安装 Qt Creator。在 Qt 官方网站上,您可以找到 Qt Creator 的下载页面。Qt Creator 是一款跨平台的集成开发环境(IDE),用于开发基于 Qt 框架的应用程序。在这一步中,您可以选择是否安装 Qt Creator 的附加组件。一旦您完成了组件的选择,安装程序将开始将 Qt Creator 安装到您的计算机上。

HackLogic的博客 6820

计算2的N次方

1170:计算2的N次方 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 4537 通过数: 2372 【题目描述】 任意给定一个正整数N(N≤100),计算2的n次方的值。 【输入】 输入一个正整数N。 【输出】 输出2的N次方的值。 【输入样例】 5 【输出样例】 32 【来源】 No #include&amp;amp;lt;bits/stdc++.h&amp;amp;gt; us...

君子不器 3801

Allegro快速编辑丝印文字操作指导

选择setup-Application Mode-placement edit。Allegro支持丝印文字的编辑,下面介绍快速编辑丝印文字的两种方法如下。这个功能还支持拷贝粘贴,可以从其它地方拷贝过来,免去了书写的麻烦。出现text edit窗口,输入自己需要的文字,点击ok。鼠标移动到丝印文字位置,文字会被高亮起来。Allegro快速编辑丝印文字操作指导。点击丝印文字,丝印会被高亮起来。选择Text edit 命令。输入需要更改后的文字,如下。右击选择text edit。以编辑下方丝印文字为例。

weixin_54787054的博客 4192

C语言学习-菜鸟教程C经典100例-练习76

该程序实现根据输入n的奇偶性计算不同分数序列的和。当n为偶数时,计算1/2+1/4+...+1/n;当n为奇数时,计算1/1+1/3+...+1/n。程序通过函数指针动态选择对应的计算函数,分别实现了偶数序列和奇数序列的求和功能。测试结果表明,输入2时输出0.5,输入3时输出1.333333,验证了程序的正确性。该示例展示了C语言中函数指针的灵活应用。

2301_77670476的博客 104

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C语言例题

中位数指的是排列在数组中间的数(注意,这里中间位置是在原始数组的中间位置,不需要对数组排序),如果原始数据的个数是偶数,那么中位数等于中间那两个元素的算术平均值。【问题描述】输入一个正整数n,再输入n个整数,存入数组a中,先将数组a中的这n个数逆序存放,再按顺序输出数组a中的下标为奇数的元素。两个用空格隔开的实数,分别为第一组的n个学生和第二组的m个学生的平均成绩,小数点后保留2位小数。已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。【输入形式】数组元素个数 数组各元素值。

zmy888999的博客 1166

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C语言:铺地板

这道题重点是找规律,我是按照行数和列数的奇偶性来找。用N为奇数和N为偶数的两个方阵(如用N=4方阵和N=5方阵)分析在不同行列数字位置变化的趋势就能涵盖所有情况。

djq_123的博客 541

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C语言每日一练——第47天:根据参数奇偶不同而调用不同公式(使用函数指针)

C语言每日一练 2021年10月29日——分析:个人认为题目应该错了,按照这题的特点,应该是使用函数指针才对。指针函数:指针函数是一个函数。函数都有返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。函数指针:函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。

Super辉sir的博客 1114

牛客网C语言编程初学者入门训练135题

2021/1/2 1、实践出真知 题目描述 于老师经常告诉我们“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。” 输入描述: 无 输出描述: Practice makes perfect! 解答 #include <stdio.h> int main() { printf("Practice makes perfect!"); return 0; } 2、我是大V 题目描述 每个人都想成为大V ,但要

两米以下皆凡人的博客 4699

【C语言】编程初学者入门训练(完结)

C语言编程初学者入门训练130题,所有题目代码都通过牛客网测试

shangguanxiu的博客 6475

7-6 实验8_7_蛇形矩阵 (100 分)

#include<stdio.h> int main() { int a[100][100]={0},n,sum,x=0,y=0,flag,ziranshu=1; scanf("%d",&n); flag=1; //flag代表着排列的顺序,偶数为从左下到右上 for(sum=0;sum<n;sum++)//对角线(含)左上半部分 { if(flag%2!=0) { fo.

mxc66的博客 668

Python每日一练-----python实现Pow(x,y)

☀(day48:P45) 目录 📝题目: 🚩题目分析: 💡解题思路: 🌟解法一:快速幂+递归 🌈代码实现 ✏代码注释 🌟解法二:快速幂 + 迭代 🌈代码实现 ✏代码注释 📝题目: 实现pow(x,n),即计算x的n次幂函数(即,xn)。 ⭐示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 ⭐示例 2: 输入:x = 2.10000, n = 3 输出:9.26100 ⭐示例 3: 输入:x = ...

m0_61791601的博客 2787

3-3 银行业务队列简单模拟

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 #define MAXSIZE 1000 5 #define ERROR -1 6 7 struct Node{ 8 int Customer[MAXSIZE]; 9 int rear; 10 int front; 11 ...

Lucky小黄人的博客 149

Spring-_-Bear 的 优快云 博客导航

路漫漫其修远兮,吾将上下而求索。

春天熊的技术博客 8084

反射计数题的逆向解法:从字符串翻转取反到状态压缩

字符串翻转取反类问题本质是状态演化建模,其核心在于理解操作对前缀的累积影响而非暴力枚举。通过引入‘翻转奇偶性’抽象变量,可将指数级状态空间压缩为线性扫描,实现O(n)时间与O(1)空间求解。该思路广泛适用于二进制串变换、开关灯阵列、位翻转序列等经典算法场景,尤其契合华为OD、大厂笔试中强调数学直觉与跨语言通用逻辑的命题趋势。文中以‘反射计数’为典型,揭示‘逆向思维’与‘状态压缩’两大关键技术支点。

weixin_33507732的博客 453

2018年全国多校算法寒假训练营练习比赛(第四场)A-石油采集(dfs+思路)

链接:https://www.nowcoder.com/acm/contest/76/A来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述 随着海上运输石油泄漏的问题,一个新的有利可图的行业正在诞生,那就是撇油行业。如今,在墨西哥湾漂浮的大量石油,吸引了许多商人的目光。这些商人们有一种特殊的...

surprisezang的博客 255

数据结构实验之链表五:单链表的拆分

题目描述 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。 输入 第一行输入整数N;;第二行依次输入N个整数。 输出 第一行分别输出偶数链表与奇数链表的元素个数; 第二行依次输出偶数子链表的所有数据;第三行依次输出奇数子链表的所有数据。 示例输入 10 1 3 22 ...

weixin_34175509的博客 959
上一篇: C语言经典例75-反转整数
下一篇: C语言经典例79-字符串排序
syzdev
博客等级 码龄9年 852粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值