if(point!
=i){
t=a[point];
a[point]=a[i];
a[i]=t;
7.一元非线性方程求根:
/*牛顿迭代法求函数跟*/
#include
#include
intmain(void)
{doublex,x1,eps=1e-6,f,f1;/*误差为eps*/
x=1.0;/*x=1.0是初值*/
do{
x1=x;
f=6-x1*(5-x1*(4-3*x1));/*f为f(x)函数*/
f1=-5+x1*(8-9*x1);/*f1为f(x)的导函数*/
x=x1-f/f1;
f=6-x*(5-x*(4-3*x));
}while(fabs(f)>=eps&&
fabs(x-x1)>=eps);
printf("x=%f",x);
/*二分法求函数跟*/
#include
#include
doublef(doublex)
{return6-x*(5-x*(4-3*x));/*f(x)函数*/
intmain(void)
{doublea,b,c,x,eps=1e-6;
do{
scanf("%lf%lf",&a,&b);
}while(f(a)*f(b)>0);
if(fabs(f(a))<1e-6)
x=a;
elseif(fabs(f(b))<1e-6)
x=b;
else{
c=(b+a)/2;
while(fabs(f(c))>eps&&fabs(b-a)>eps){
if(f(a)*f(c)<0)
b=c;
else
a=c;
c=(b+a)/2;
x=c;
printf("x=%f",x);
/*弦截法求函数跟*/
c=(a*f(b)-b*f(a))/(f(b)-f(a));
while(fabs(f(c))>eps){
if(f(a)*f(c)<0)
b=c;
else
a=c;
c=(a*f(b)-b*f(a))/(f(b)-f(a));
#include
voidf();
intmain(void)
{intx,loop=0;
do{
for(x=1;x<5;x++){
intx=2;
printf("%d",x);
printf("%d",x);
f();
loop++;
}while(loop<1);
getch();
voidf()
{printf("%d",x++);}
8.汉诺塔:
#include
voidHanoi(intn,charA,charB,charC)
if(n==1)
printf("\nmove%dfrom%cto%c",n,A,C);
else{
Hanoi(n-1,A,C,B);
printf("\nmove%dfrom%cto%c",n,A,C);
Hanoi(n-1,B,A,C);
intmain(void)
{Hanoi(3,'A','B','C');
getch();
9.建立链表:
NODE*creat(void)/*void表示无参函数*/
NODE*head=NULL,*p1=NULL,*p2=NULL;
longnum;
unsignedscore;
intn=0;
do{
scanf(“%ld%u”,&num,&score);
if(num==0)break;
n++;
p1=(NODE*)malloc(sizeof(NODE));
p1->data.num=num,
p1->data.score=score;
p1->next=NULL;
if(n==1)
head=p2=p1;
else{
p2->next=p1;
p2=p1;
}while
(1);
returnhead;
10.级数的近似计算:
#include
#include
intmain(void)
{doubles=1,a=1,x,eps,f;
intn,m;
printf("inputxandeps:
");
scanf("%lf%lf",&x,&eps);
for(n=1;fabs(a)>eps;n++){
for(f=1,m=1;m<=n;m++)
f*=m;
a=pow(x,n)/f;
s+=a;
printf("%f",s);
希望以上资料对你有所帮助,附励志名言3条:
1、有志者自有千计万计,无志者只感千难万难。
2、实现自己既定的目标,必须能耐得住寂寞单干。
3、世界会向那些有目标和远见的人让路。