当前位置: 首页 > news >正文

C语言题目:阶乘数列求和(函数)

题目描述

输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。

      x - x2/2! + x3/3! + ... + (-1)n-1xn/n!

×输出保留4位小数。

输入格式

x n

输出格式

数列和

样例输入

2.0 3

样例输出

1.3333

代码解析

  1. 定义fact函数: fact(int n)函数用于计算一个整数n的阶乘。它通过一个for循环来累乘从1到n的所有整数,并将结果存储在sum变量中。最后,返回计算得到的阶乘值。

    double fact(int n)
    {double sum = 1;for (int i = 1; i <= n; i++){sum = sum * i;}return sum;
    }

  2. 定义mypow函数: mypow(double x, int n)函数用于计算xn次幂的近似值。它使用了一个for循环,从1遍历到n,每次迭代中计算(-1)^(i-1) * x^i / fact(i)的值,并累加到sum变量中。这里,pow(-1, i - 1)用于生成交替的正负号,pow(x, i)用于计算xi次幂,fact(i)用于计算i的阶乘,用于分母的计算。最后,返回累加的sum值作为xn次幂的近似值。

    double mypow(double x, int n)
    {double sum = 0;for (int i = 1; i <= n; i++){sum = sum + (pow(-1, i - 1) * pow(x, i) / fact(i));}return sum;
    }

  3. 主函数main: int main(void)是程序的入口点。在这个函数中,首先通过scanf函数读取用户输入的两个值:一个是双精度浮点数x,另一个是整数n

    int main(void)
    {double x;int n;scanf("%lf%d", &x, &n);
    }

  4. 调用mypow函数并输出结果: 调用mypow函数,传入用户输入的xn作为参数,计算xn次幂的近似值。使用printf函数输出mypow函数返回的结果,格式化为保留四位小数的浮点数。

        printf("%.4lf",mypow(x,n));
    

  5. 函数返回: return 0;表示main函数执行成功并返回0。在C语言中,main函数的返回值通常用于表示程序的退出状态,其中0表示成功。

        return 0;
    

源代码

#include <stdio.h>
#include <math.h>
double fact(int n)
{double sum = 1;for (int i = 1; i <= n; i++){sum = sum * i;}return sum;
}
double mypow(double x, int n)
{double sum = 0;for (int i = 1; i <= n; i++){sum = sum + (pow(-1, i - 1) * pow(x, i) / fact(i));}return sum;
}
int main(void)
{double x;int n;scanf("%lf%d", &x, &n);printf("%.4lf",mypow(x,n));return 0;
}

相关文章:

C语言题目:阶乘数列求和(函数)

题目描述 输入一个正数x和一个正整数n&#xff0c;求下列算式的值。要求定义两个调用函数&#xff1a;fact(n)计算n的阶乘&#xff1b;mypow(x,n)计算x的n次幂&#xff08;即xn&#xff09;&#xff0c;两个函数的返回值类型是double。 x - x2/2! x3/3! ... (-1)n-1xn/n! …...

Unity与CocosCreator对比学习二

一、锚点与适配 1.在Creator中 适配通过锚点、位置和Widget达到适配目的&#xff1b;锚点是节点在其父节点坐标系中坐标对其点&#xff0c;其x,y范围在[0, 1]之间&#xff1b; 锚点为(0, 0)时在节点自身的左下角&#xff0c;节点坐标指其左下角在父节点中的坐标&#xff1b;锚…...

01-Git 快速入门

https://learngitbranching.js.org/?localezh_CN在线练习git 1. Git 安装好Git以后, 先检查是否已经绑定了用户名和邮箱 git config --list再检查C:\Users\xxx.ssh 下是否存在 id_rsa.pub , 存在的话复制其内容到 GitHub 的 SSH KEY 中 没有这一步, PUSH操作的时候会报错:…...

Axure RP中的相关概念及高保真原型构建方法

1 Axure RP中概念介绍 对于构建高保真原型来说&#xff0c;需要知道事件&#xff08;Event&#xff09;、Case、Action等概念。Axure RP中给出这些概念&#xff0c;是为了方便原型的构建&#xff0c;尤其是高保真原型的构建。 事件&#xff08;Event&#xff09;是附着于控件…...

Ruoyi-vue-pro Vue + nginx 二级目录部署到云服务器

http://www.your-server.com/ 这是一级目录&#xff0c;由于项目多&#xff0c;一般会通过二级域名http://oa.your-server.com/或二级目录http://www.your-server.com/oa来发布&#xff0c;本篇记录一下二级目录发布。先看效果 1、router/index.js配置base export default new …...

leetcode2529--正整数和负整数的最大计数

1. 题意 给定有序数组&#xff0c;求其中正整数和负整数的计数最大值。 正整数和负整数的最大计数 2. 题解 2.1 遍历 直接判断 class Solution { public:int maximumCount(vector<int>& nums) {int neg 0;int pos 0;for (int num:nums) {if (!num)continue;i…...

使用YOLOv8训练自己的【目标检测】数据集

文章目录 1.收集数据集1.1 使用开源已标记数据集1.2 爬取网络图像1.3 自己拍摄数据集1.4 使用数据增强生成数据集1.5 使用算法合成图像 2.标注数据集2.1确认标注格式2.2 开始标注 3.划分数据集4.配置训练环境4.1获取代码4.2安装环境 5.训练模型5.1新建一个数据集yaml文件5.2预测…...

rust学习(recursive mutex 实现)

问题&#xff1a; 编写如下代码的时候出现死锁&#xff1a; pub fn test_double_lock() {let t Arc::new(Mutex::new(1));let t1 t.clone();let t2 t.clone();let h std::thread::spawn(move || {println!("hello trace1");let l1 t1.lock().unwrap();println…...

DasViewer可以添加照片到里面吗?点开就可以看照片?

DasViewer主要是三维模型浏览器&#xff0c;二维可以添加矢量和正射影像&#xff0c;航片暂不支持。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便…...

python蓝桥杯选数

文章目录 前言一、题意二、代码1.代码的实现2.读入数据 总结 前言 本题涉及到很多python中的知识点&#xff0c;比如combinations&#xff08;列表的组合&#xff09;应用&#xff0c;以及素数的判断 一、题意 已知 n 个整数 x1,x2,…,xn,以及一个整数 k&#xff08;k&#x…...

联想电脑开启虚拟化失败,开启虚拟化却提示还没有开启虚拟化

安装虚拟机的时候&#xff0c; 电脑要开启虚拟化&#xff0c; Intel VT&#xff0c; 去BIOS开启了&#xff0c; 但是依然报错&#xff0c;说虚拟化处于禁用状态。 解决方案&#xff1a; 去联想官方&#xff0c;下载BIOS更新包&#xff0c;更新BIOS。 更新文档&#xff1a; 联…...

物联网农业四情在线监测系统

TH-Q2随着科技的飞速发展和信息化时代的来临&#xff0c;物联网技术在各个领域都取得了显著的应用成果。其中&#xff0c;物联网农业四情在线监测系统作为农业现代化的重要组成部分&#xff0c;正在为农业生产带来革命性的变革。 一、物联网农业四情在线监测系统的概念 物联网…...

MySQL8.3.0 主从复制方案(master/slave)

一 、什么是MySQL主从 MySQL主从&#xff08;Master-Slave&#xff09;复制是一种数据复制机制&#xff0c;用于将一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到其他一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;。这种复制机制可以提供…...

大数据相关组件安装及使用

自学大数据相关组件 持续更新中。。。 一、linux安装docker 1、更新yum sudo yum update2、卸载docker旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine3、…...

【攻防世界】web2(逆向解密)

进入题目环境&#xff0c;查看页面信息&#xff1a; <?php $miwen"a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){$_ostrrev($str);// echo $_o;for($_00;$_0<strlen($_o);$_0){$_csubstr($_o,$_0,1);$__ord($_c)1;…...

Linux文件查找命令详解——以CentOS为例

Linux文件查找命令详解——以CentOS为例 在Linux系统中&#xff0c;文件查找是一项非常重要的任务。无论是系统管理员还是普通用户&#xff0c;都需要掌握一些基本的文件查找命令。本文将详细介绍Linux中常用的文件查找命令&#xff0c;并以CentOS为例&#xff0c;展示如何使用…...

【JavaEE】浅谈线程(一)

线程 前言线程的由来线程是什么线程的属性线程更高效的原因举个例子&#xff08;线程便利性的体现&#xff09; 多线程代码线程并发执行的代码jconsole(观测多线程) 线程的调度问题创建线程的几种方法1&#xff09;通过继承Thread 重写run2&#xff09;使用Runnable接口 重写ru…...

深度解析SPARK的基本概念

关联阅读博客文章&#xff1a; 深入理解MapReduce&#xff1a;从Map到Reduce的工作原理解析 引言&#xff1a; 在当今大数据时代&#xff0c;数据处理和分析成为了企业发展的重要驱动力。Apache Spark作为一个快速、通用的大数据处理引擎&#xff0c;受到了广泛的关注和应用。…...

FreeGPT3.5 开源软件

GPT-3.5不需要付费&#xff0c;也不需要注册用户&#xff0c;可以直接使用了&#xff0c;官方彻底开放了API接口。 该API政策一放开&#xff0c;GitHub很快就已经出现了一个开源项目FreeGPT35&#xff0c;可以自动生成key调用GPT3.5的API接口&#xff0c;再也用不着注册账号和申…...

AI绘本生成解决方案,快速生成高质量的AI绘本视频

美摄科技凭借其深厚的技术积累和前瞻性的市场洞察力&#xff0c;近日推出了一款面向企业的AI绘本生成解决方案&#xff0c;旨在通过智能化、自动化的方式&#xff0c;帮助企业快速将文字内容转化为生动有趣的绘本视频&#xff0c;从而提升内容传播效率&#xff0c;增强品牌影响…...

政务短信钓鱼攻击机理与防控研究 —— 以美国宾州 PennDOT 诈骗事件为例

摘要 2026 年 3 月 27 日&#xff0c;宾夕法尼亚州官方发布安全预警&#xff0c;提示公众警惕冒充 PennDOT&#xff08;宾州交通局&#xff09;的短信钓鱼诈骗。此类攻击以车辆管理、罚单缴费、证件状态异常为诱饵&#xff0c;通过仿冒政务身份诱导用户点击恶意链接&#xff0c…...

别再死记硬背命令了!用eNSP模拟器搞懂三层交换的‘一次路由,多次交换’

从数据包视角拆解三层交换&#xff1a;用eNSP透视"一次路由多次交换"的本质 很多网络工程师能熟练配置三层交换&#xff0c;却说不清为什么第一个包慢、后续包快。这种现象背后&#xff0c;是硬件转发表&#xff08;FIB&#xff09;和邻接关系表的协同工作机制在发挥…...

用Isaac Sim的Action Graph给ROS2机器人发布激光雷达数据:一个完整的传感器仿真流程

用Isaac Sim的Action Graph实现ROS2激光雷达数据仿真&#xff1a;从传感器配置到RViz可视化的全流程指南 在机器人开发和自动驾驶系统测试中&#xff0c;高保真的传感器仿真能够显著降低硬件成本和迭代周期。NVIDIA Isaac Sim作为一款强大的机器人仿真平台&#xff0c;与ROS2生…...

ESP32-C3实战:低功耗WiFi与BLE信号扫描及JSON数据上报方案

1. ESP32-C3双模信号扫描方案设计 ESP32-C3作为乐鑫推出的RISC-V架构物联网芯片&#xff0c;其内置的WiFi 4和BLE 5.0双模射频模块非常适合环境信号监测场景。在实际项目中&#xff0c;我经常用它来构建智能家居信号质量分析仪、商场客流监测终端等设备。相比传统方案需要外接…...

IDEA插件Apipost-Helper:一站式接口测试与文档生成利器

1. 为什么开发者需要Apipost-Helper插件&#xff1f; 每次写完接口代码都要切换到Postman测试&#xff1f;文档和代码分开维护导致接口更新不同步&#xff1f;作为经历过这些痛点的老开发&#xff0c;我发现Apipost-Helper插件简直是IDEA里的瑞士军刀。它直接把接口调试、文档生…...

5个场景下的BiliTools资源管理实战技巧:高效获取与管理B站内容的全攻略

5个场景下的BiliTools资源管理实战技巧&#xff1a;高效获取与管理B站内容的全攻略 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Tre…...

别再手动传包了!用GitHub Actions自动化部署你的Spring Boot + Vue项目到云服务器

从零构建自动化部署流水线&#xff1a;GitHub Actions实战Spring BootVue云端发布 每次代码修改后手动打包、上传、重启服务的繁琐流程&#xff0c;正在消耗开发者宝贵的创造力时间。我曾在一个电商项目中经历过这样的噩梦&#xff1a;凌晨两点修复紧急Bug后&#xff0c;需要完…...

无代码玩转OpenClaw:nanobot镜像图形化配置自动化流程

无代码玩转OpenClaw&#xff1a;nanobot镜像图形化配置自动化流程 1. 为什么选择图形化配置OpenClaw 作为一个长期与技术打交道的开发者&#xff0c;我最初接触OpenClaw时也被它的命令行配置方式劝退过。直到发现了nanobot这个超轻量级镜像&#xff0c;才真正体会到"无代…...

Qwen3-4B-Instruct-2507问题解决:部署中常见的5个错误及快速修复方法

Qwen3-4B-Instruct-2507问题解决&#xff1a;部署中常见的5个错误及快速修复方法 1. 部署准备与环境检查 在开始部署Qwen3-4B-Instruct-2507模型之前&#xff0c;确保您的环境满足以下基本要求&#xff1a; 硬件配置&#xff1a;推荐使用NVIDIA 4090D显卡&#xff08;24GB显…...

设备重生:面向企业IT的激活锁解决方案

设备重生&#xff1a;面向企业IT的激活锁解决方案 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 问题诊断&#xff1a;激活锁困局与商业价值损失 企业设备管理的隐形成本 某教育机构IT主管王工近期…...