C語言,求pi的值
//求pi 的值
#include <iostream>
#include<cmath>using namespace std;
int main()
{
int n = 2;
double t = 1;
double s = 1;
for (n = 2, t = 1; fabs(s)>1e-7; n++)
{
s = (pow(-1.0, (double)(n - 1))) / (2 * n - 1);
t = s + t;
}
cout << 4 * t << endl;
system("pause");
return 0;
}
1:開始執行為0,一直以為我的pow函式調用出錯,後來發現是一個非常低階的錯誤,輸出的4*t 是個double型,然而當時定義為了int型,這樣
相當於強制轉換了
2:一定要注意細節,上次的程式出錯是因為for 迴圈中的{ }用錯
相關推薦
C語言,求pi的值
//求pi 的值 #include <iostream> #include<cmath> using namespace std; int main() {int n = 2;double t = 1;double s = 1;for (n = 2,
c語言,求100~200之間的素數的2種方法
素數,除了1 和它本身不能被其他數整除的數。 要求100~200之間需要用到迴圈,第一種方法 #include<stdio.h> int main() { int i = 0; for (i=100; i<=200; i++) {
C語言實現求兩個數的最大值,C語言實現雞兔同籠問題
實驗三:輸入兩個數求最大者 #include<stdio.h> int main()//主函式 { int max(int x,int y); int a,b,c; printf("請輸入a:\n"); scanf("%d",&a); pr
c語言:求多項式1-1/2+1/3-1/4+...+1/99-1/100的值,3種迴圈實現
方法一:for迴圈實現 程式: #include<stdio.h> int main() { double i = 0, t = 0,sum = 0,sign = -1; for (i =
WordCount C語言實現求文本的字符數,單詞數,行數
tee std port == .html 復制代碼 錯誤 str name 1.碼雲地址: https://gitee.com/miaomiaobobo/WordCount 2.psp表格 PSP2.1表格 PSP2.1 PSP階段 預估耗時 (分鐘)
C語言,有N個硬幣面值為a[1]...a[N],給一個非負數m,用這些硬幣湊成m,求有多少種方法?
#include <stdio.h> #include <memory.h> #define N 1000 #define M 100000 int a[N]; int DP[M]; int dpItUnlimited(int m, i
如何用C語言計算表示式的值,棧的經典應用
宣告:這個程式可以計算+,-,*,/,負數,小數 負數用括號括起來例如(-1) 負數的計算過程:(-1) 轉變為 (0-1) 哈哈~ 分成六個點: 1.我的檔案結構 2.順序堆疊的標頭檔案 3.標頭
C語言:求10 個整數中最大值
求10 個整數中最大值思路:求10 個整數中最大值,可以利用陣列來完成對10個數的儲存,再用迴圈語句和條件語句來判斷數的大小, 把最大值賦值給最大值變數max,然後輸出最大值。 程式碼如下: #include<stdio.h> int main() { int i,max;
用c語言實現求數值的最大值。
對於求10個整數中的最大值這類問題,具體分析和解決辦法如下。 第一類:給定一個具體的陣列求陣列中的最大值 程式1: #include<stdio.h> #include<stdlib.h> int main(){ int arr[10] = { 1, 2,
萌新初學c語言;求質數,請大家幫忙看看
#include<stdio.h> int main(){ int a,b,c,d,e,f; c=0;d=0; printf("請輸入範圍:__至__\n"); scanf("%d %d",&e,&f); for(a=
C語言:求單詞的個數,用上isalpha
#include<stdio.h> #include<assert.h> #include<ctype.h> //求單詞的個數,用上isalpha int NumWord(char *str) { assert(str
VS Code編寫C語言,程式碼除錯之後,能輸入值,但按回車之後閃退
在使用VS Code編寫一段C程式程式碼時,程式碼沒有任何問題,按F5進行除錯可以啟動執行,當輸入值後,按下enter鍵就出現閃退的情況,下面就來帶您一起解決這一問題,希望對您有所幫助: 如下小栗子~ 更改前的程式碼: //列印金字塔 #include<stdio.h&
【C語言】求一個數的二進位制位模式從左到右翻轉後對應的十進位制值。
用函式unsigned int reverse_bit(unsigned int value)實現想要的功能 value是我們想要求的值。 #include <stdio.h> #include <math.h> unsigned
初學C語言:求圓周率pi的近似值(pi/4=1-1/3+1/5-1/7...)
#include<stdio.h> #include<math.h> int main() { double pi1,pi2,j=0,i=0,u=0,v=0;
c語言,通過指標交換兩個數的值
#include<stdio.h> void swap(int *p ,int *p1){ int *temp ; temp = p; p= p1; p1 = temp; } void swap2(int *p ,int *p1){ int te
C語言輸入一組值,最大的元素與第一個交換,最小的與最後一個交換
#include<stdio.h> //輸入一組值,最大的元素與第一個交換,最小的與最後一個交換void main(){int i,j,k,f[10],max,min,small,big;for(i=0;i<10;i++) scanf("%d",&
用c語言編寫求n的k次方函式,用迭代和遞迴兩種方法
在c語言中求n的k次方函式。雖然c語言中庫函式中已經存在,但是知道它的程式碼或者實現思想也是很必要的。那麼我們用兩種方式來實現:第一種:迭代法(效率在資料量比較大時要相比遞迴快一點)int power_ineration(int n,int k)//迭代 { int q =
c語言習題(2)--鍵值對,字串反轉
/**** 3、鍵值對("key = valude")字串,在開發中經常使用; 要求1:請自己定義一個介面,實現根據key獲取valude; 要求2:編寫測試用例。 要求3:鍵值對中間可能有n多空格,請去除空格 注意:鍵值對字串格式可能如下: "key1 = valude1" "key2 = va
c語言實現求組合數(帶點優化的思想,防止溢位)
這是大家都知道的組合數,思想也很簡單,但是裡面的階乘,容易溢位,讓m!/n!先約分,減小數的大小,m!/n! = (n+1)(n+2)(n+3)···(m-1)(m); 如果m-n > n的話,我們就讓n = m-n.j儘可能讓乘起來的數小一點。程式碼列印的是25裡
【c語言】求方程式 ax^2+bx+c=0 的根,分別考慮:1、有兩個不等的實根 2、有兩個相等的實根
// 求方程式 ax^2+bx+c=0 的根,分別考慮:1、有兩個不等的實根 2、有兩個相等的實根 #include <stdio.h> #include <math.h> int main() { int d; int a,b,c; do