武汉c培训
达内武汉中心

15271940953

热门课程

武汉C++培训机构:C程序设计的常用算法之迭代法和数制转换

  • 时间:2017-05-25
  • 发布:武汉C++培训
  • 来源:c语言教程

今天,达内武汉C++培训机构的小编将要为大家带来的是C程序设计的常用算法之迭代法和数制转换。

一、迭代法

算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;再以新值作 为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和直到|x1-x0|<ε(某一给定的精度)。此时可将x1作为问题的解。

例:用迭代法求某个数的平方根。 已知求平方根的迭代公式为:
#include<math.h>
float fsqrt(float a)
{ float x0, x1;
x1=a/2;
do{
x0=x1;
x1=0.5*(x0+a/x0);
}while(fabs(x1-x0)>0.00001);
return(x1);
}
main()
{ float a;
scanf("%f", &a);
printf("genhao =%f\n", fsqrt(a));
}

、数制转换

将一个十进制整数m转换成 →r(2-16)进制字符串。

方法:将m不断除 r 取余数,直到商为零,以反序得到结果。下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串。
char *trdec(int idec, int ibase)
{ char strdr[20], t;
int i, idr, p=0;
while(idec!=0)
{ idr=idec % ibase;
if(idr>=10)
strdr[p++]=idr-10+65;
else
strdr[p++]=idr+48;
idec/=ibase;
}
for(i=0; i<p/2; i++)
{ t=strdr[i];
strdr[i]=strdr[p-i-1];
strdr[p-i-1]=t;
}
strdr[p]=’\0’;
return(strdr);
}
main()
{ int x, d;
scanf("%d%d", &x, &d);
printf("%s\n", trdec(x,d));
}

更多知识敬请关注达内武汉C++培训机构的官网!

上一篇:武汉C++培训班:C程序设计的常用算法之插入法和矩阵(二维数组)运算
下一篇:武汉C++培训班:C程序设计的常用算法之字符串的一般处理、穷举法和递归算法
选择城市和中心
贵州省

广西省

海南省