⑴ C語言中switch語句的N-S流程圖怎麼畫啊
1、首先要進入到該繪制網站中,在新建文件夾中選擇流程圖進行新建使用,打開流程編輯工具。
⑵ 大學計算機 NS圖演算法求解
第一個:定義一個函數求n的階乘,就是從1乘到n 然後弄個一個循環累加
第二個:窮舉法:設各有a、b、c只,然後列舉所有的abc使之等式成立,弄個三重循環就行了
第三個:參考網路
牛頓迭代法(Newton's method)又稱為牛頓-拉夫遜(拉弗森)方法(Newton-Raphson method),它是牛頓在17世紀提出的一種在實數域和復數域上近似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。方法使用函數f(x)的泰勒級數的前面幾項來尋找方程f(x) = 0的根。牛頓迭代法是求方程根的重要方法之一,其最大優點是在方程f(x) = 0的單根附近具有平方收斂,而且該法還可以用來求方程的重根、復根,此時線性收斂,但是可通過一些方法變成超線性收斂。另外該方法廣泛用於計算機編程中。
double func(double x) //函數
{
return x*x*x*x-3*x*x*x+1.5*x*x-4.0;
}
double func1(double x) //導函數
{
return 4*x*x*x-9*x*x+3*x;
}
int Newton(double *x,double precision,int maxcyc) //迭代次數
{
double x1,x0;
int k;
x0=*x;
for(k=0;k<maxcyc;k++)
{
if(func1(x0)==0.0)//若通過初值,函數返回值為0
{
printf("迭代過程中導數為0!\n");
return 0;
}
x1=x0-func(x0)/func1(x0);//進行牛頓迭代計算
if(fabs(x1-x0)<precision || fabs(func(x1))<precision) //達到結束條件
{
*x=x1; //返回結果
return 1;
}
else //未達到結束條件
x0=x1; //准備下一次迭代
}
printf("迭代次數超過預期!\n"); //迭代次數達到,仍沒有達到精度
return 0;
}
int main()
{
double x,precision;
int maxcyc;
printf("輸入初始迭代值x0:");
scanf("%lf",&x);
printf("輸入最大迭代次數:");
scanf("%d",&maxcyc);
printf("迭代要求的精度:");
scanf("%lf",&precision);
if(Newton(&x,precision,maxcyc)==1) //若函數返回值為1
printf("該值附近的根為:%lf\n",x);
else //若函數返回值為0
printf("迭代失敗!\n");
getch();
return 0;
}