?? remberg.cpp
字號:
// Remberg.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<math.h>
float f(float x) //被積函數
{
float a1;
a1=x*x*x;
a1=sqrt(a1);
return a1;
}
float squ(int y) //求4的y次方函數
{
int b;
float a2=1;
for(b=1;b<=y;b++)
a2=a2*4;
return a2;
}
void main()
{
float T[20][20]; //存放T表
int i,j,k=0,a3;
float h,a,b,d,m,n;
printf("*******************************************************************\n");
printf("* 龍貝格求積公式 *\n");
printf("*******************************************************************\n");
printf("輸入積分下限:");
scanf("%f",&a);
printf("輸入積分上限:");
scanf("%f",&b);
printf("輸入精度:");
scanf("%f",&d);
h=b-a;
T[0][0]=h/2*(f(a)+f(b));
for(i=1;;i++)
{
m=1.0;n=0;
while(m<=2/h-1)
{
n+=f(m*h/2);
m=m+2.0;
}
T[0][i]=0.5*T[0][i-1]+h/2*n;
for(a3=1;a3<=i;a3++)T[a3][i]=(1+1/(squ(a3)-1))*T[a3-1][i]-(1/(squ(a3)-1))*T[a3-1][i-1];
if(T[i-1][i-1]-T[i][i]<=d)break;
else h=h/2;
}
printf("\n-------------------------------------------------------------------\n");
printf(" k ");
for(j=0;j<i;j++)
printf("T%d ",j);
printf("\n-------------------------------------------------------------------\n");
for(j=0;j<i;j++)
{
printf(" %d ",j);
for(k=0;k<=j;k++)
printf("%f ",T[k][j]);
printf("\n");
}
printf("-------------------------------------------------------------------\n");
printf("積分I=%f\n\n",T[i-1][i-1]);
printf(" ╲︿⌒.︵︵,_.\n");
printf(" ( )\n");
printf(" ︶~︶ˋ~︺︶ ╲ ........ BY 云\n\n\n");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -