C++第10周项目2扩展之2参考——迭代求和

简介: 课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565【项目2扩展之2(选做)】计算下面的式子,不能使用求幂函数pow()式一:#include <iostream>using namespace std;int main( ){ int i,m=1; //m表示2的幂,1为2的0次幂,与循环

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565


【项目2扩展之2(选做)】计算下面的式子,不能使用求幂函数pow()
式一:

#include <iostream>
using namespace std;
int main( )
{ 
	int i,m=1;  //m表示2的幂,1为2的0次幂,与循环相符
	double sum=0, s=1.0; //s直接取double型,保证除的结果是浮点型
	for(i=0;i<=8;++i)
	{
		sum=sum+s/m;//一楼指出的错误表达式是sum=sum+s*i/m;
		m*=2;   //2的i次幂由此计算得到
		s=-s;    
	}
	cout<<"sum="<<sum<<endl;
	return 0;
}
思考:本题只累加了9次,如果照此累加20次,会产生什么问题,如何处理?


式二:

#include <iostream>
using namespace std;
int main( )
{ 
	int i,f=1;  //f表示加数分母上的阶乘,初值1为1的阶乘
	double sum=0, s=1.0; //s直接取double型,保证除的结果是浮点型
	for(i=1;i<=9;++i)
	{
		f*=i;   //计算得到i的阶乘
		sum=sum+s/f;//1楼指出的错误表达式是sum=sum+s*i/f;
		s=-s;    
	}
	cout<<"sum="<<sum<<endl;
	return 0;
}





目录
相关文章
|
29天前
|
开发工具 C语言 C++
CMake构建大型C/C++项目:跨平台设计与高级应用(二)
CMake构建大型C/C++项目:跨平台设计与高级应用
41 0
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
24 6
|
17天前
C/C++test两步完成CMake项目静态分析
通过将C/C++test集成到CMake项目中,并根据项目的需要进行配置,可以在两步内完成CMake项目的静态分析。这样可以帮助开发人员及时发现并修复潜在的代码问题,提高代码质量和可靠性。
8 0
|
24天前
|
IDE 算法 编译器
快速掌握陌生C++项目的科学与心理学策略
快速掌握陌生C++项目的科学与心理学策略
56 0
|
24天前
|
算法 Java C++
【C/C++ 内存知识扩展】内存不足的可能性分析
【C/C++ 内存知识扩展】内存不足的可能性分析
12 0
|
24天前
|
敏捷开发 安全 API
C/C++ 工程师面试:如何精彩展示你的项目经验并获得高分
C/C++ 工程师面试:如何精彩展示你的项目经验并获得高分
71 0
|
29天前
|
消息中间件 存储 算法
【C/C++ 泡沫精选面试题04】在实际项目中,多进程和多线程如何选择?
【C/C++ 泡沫精选面试题04】在实际项目中,多进程和多线程如何选择?
43 1
|
29天前
|
编译器 持续交付 项目管理
CMake构建大型C/C++项目:跨平台设计与高级应用(三)
CMake构建大型C/C++项目:跨平台设计与高级应用
37 0
|
29天前
|
编译器 Linux C语言
CMake构建大型C/C++项目:跨平台设计与高级应用(一)
CMake构建大型C/C++项目:跨平台设计与高级应用
66 0
|
30天前
|
设计模式 敏捷开发 持续交付
C++项目中打破循环依赖的锁链:实用方法大全(三)
C++项目中打破循环依赖的锁链:实用方法大全
47 0