【第22期】观点:IT 行业加班,到底有没有价值?

基于visual Studio2013解决C语言竞赛题之0422牛顿迭代法

原创 2013年12月03日 15:28:25




题目


解决代码及点评

该题考察对浮点数的了解

#include<iostream>
#include<cmath>
/*
用牛顿迭代法求方程在 1.5附近的根(精度在10^-5)
2*x^3-4*x^2+3*x-6=0
*/
using namespace std;
void main()
{
	double diedai(double a,double b,double c,double d,double x);
	double a,b,c,d;
	double x=10000.0;
	cout<<"请依次输入方程四个系数:";
	cin>>a>>b>>c>>d;
	x=diedai(a,b,c,d,x);      // 用户输入四个系数后,调用迭代法就根
	cout<<x<<endl;
	//printf("%f",x);
	system("pause");
}
double diedai(double a,double b,double c,double d,double x)
{
	while(abs(a*x*x*x+b*x*x+c*x+d)>0.000001) // 关键在于,对方程的求值,最后是>0.000001而不是==0是因为浮点数不能==0,所以用精度代替
	{
		x=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);
	}
	return x;
}



代码下载及其运行

代码下载链接:

http://download.csdn.net/detail/yincheng01/6641033

解压密码为c.itcast.cn


下载解压后用VS2013打开工程文件

点击 “本地Windows调试器” 执行


程序运行结果




版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

基于visual Studio2013解决C语言竞赛题之0601判断素数函数

题目解决代码及点评//编写一函数判断一个数是否为素数 #include #include #include void f61(int a ) {  if (a==0)  {   printf("%...

未安装 C# 的 Visual Studio 语言支持。的解决方法

未安装 C# 的 Visual Studio 语言支持。代码编辑 IntelliSense 将不可用的解决方法 今天中午运行Visual Studio 2008的时候弹出一个如题的错误。 用C#语言写的后台代码全都变成黑色的字体。。。然后在网上找到了一个解决方法: 开始——>所有程序—...
  • ajinn
  • ajinn
  • 2012-08-15 14:08
  • 1217

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

基于visual Studio2013解决C语言竞赛题之0602最大值函数

题目解决代码及点评#include #include /* 编写一函数求三个整数的最大值。 */ void f62(int a ,int b,int c) { int temp=a; if (...

Visual Studio 编写纯C语言程序

本篇文章讲述如何用微软的 Visual Studio 编写纯C语言程序,这里的纯C语言,指的是 ANSI C 语言。 要在 Visual Studio 里创建一个 ANSI C语言程序,请按以下步骤执行: 1. 启动 Visual Studio 2. 选择菜单 File(文件) --&a...

visual studio中C语言调用汇编

视频编解码等高实时性软件也需要使用汇编编写某些代码来提高运行效率。 在visual studio的C语言开发中,调用汇编有几点需要注意的地方   首先要区别MASM和MASM32,MASM是已经集成在visual studio中的汇编器,即汇编使用的ml.exe
  • urey
  • urey
  • 2014-02-13 11:27
  • 420
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)