日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C语言经典例76-根据n的奇偶性累加

發布時間:2025/6/17 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言经典例76-根据n的奇偶性累加 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 1 題目
  • 2 分析
  • 3 實現
  • 4 運行結果

1 題目

編寫一個函數,輸入n為偶數時,調用函數求1/2+1/4+…+1/n,當輸入n為奇數時,調用函數1/1+1/3+…+1/n(利用指針函數)。

2 分析

首先判斷n的奇偶性,通過if控制語句對2取余來判斷,再根據n的奇偶性調用不同的計算方法,這里把兩個計算方法寫成兩個函數,不難發現累加的規律為當n為偶數時,所有累加項都是以1為分子,分母是從2開始的偶數序列;當n為奇數時,所有累加項分子也是1,分母則是從1開始的奇數序列。

注:本題使用函數指針來實現。

3 實現

#include <stdio.h> #include <stdlib.h> double evenumber(int n); double oddnumber(int n);int main() {int n;double sum;double (*pfunc)(int); // 定義函數指針printf("請輸入n:");scanf("%d", &n);if (n % 2 == 0) { // 判斷奇偶pfunc = evenumber; // 偶數函數} else {pfunc = oddnumber; // 奇數函數} sum = (*pfunc)(n); // 通過指針調用函數printf("%lf\n", sum);return 0; }// 當n為偶數時 double evenumber(int n) {double s = 0; // 累加和double a = 0; // 保存每一項的臨時變量for (int i = 2; i <= n; i += 2) {a = (double)1/i; // 該除法會出現小數,所以要強制轉換s += a; // 累加}return s; }// 當n為奇數時 double oddnumber(int n) {double s = 0; // 累加和double a = 0; // 保存每一項的臨時變量for (int i = 1; i <= n; i += 2) {a = (double)1/i; // 該除法會出現小數,所以要強制轉換s += a; // 累加}return s; }

4 運行結果

PS E:\C++WorkSpace> cd "e:\C++WorkSpace\" ; if ($?) { g++ FFF.cpp -o FFF } ; if ($?) { .\FFF } 請輸入n:10 1.141667 PS E:\C++WorkSpace> cd "e:\C++WorkSpace\" ; if ($?) { g++ FFF.cpp -o FFF } ; if ($?) { .\FFF } 請輸入n:51 2.610834 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的C语言经典例76-根据n的奇偶性累加的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。