当前位置: 首页 > news >正文

【C++ 程序设计】实战:C++ 实践练习题(31~40)

目录

31. 数列:s = 1 + 2 + 3 + … + n

32. 数列:s = 1 - 2 - 3 - … - n

33. 数列:s = 1 + 2 - 3 + … - n

34. 数列:s = 1 - 2 + 3 - … + n

35. 数列:s = 1 + 1/2 + 1/3 + … + 1/n

36. 数列:s = 1 - 1/2 - 1/3 - … - 1/n

37. 数列:s = 1 + 1/2 - 1/3 + … + 1/n

38. 数列:s = 1 - 1/2 + 1/3 + … - 1/n

39. 数列:s = 1 + 1/4 + 1/7 + 1/10 ... + 1/(3*n-2)

40. 数列:s = 1 - 1/4 - 1/7 - 1/10 ... - 1/(3*n-2



31. 数列:s = 1 + 2 + 3 + … + n

输入 1  个正整数  n(n<=100) ,计算并输出 1+2+3…+n

#include <iostream>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数n    int sum = n * (n + 1) / 2;  // 高斯求和公式    cout << sum << endl;return 0;
}

 


32. 数列:s = 1 - 2 - 3 - … - n

输入 1  个正整数  n(n<=100) ,计算并输出 1-2-3…-n 

#include <iostream>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数n// 计算2到n的和int sum_from_2_to_n = (n + 2) * (n - 1) / 2;    // 最终结果为1减去上述和int result = 1 - sum_from_2_to_n;    cout << result << endl;return 0;
}

 


33. 数列:s = 1 + 2 - 3 + … - n

输入 1  个正整数  n(n<=100) ,计算并输出 1+2-3+-n

#include <iostream>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数nif (n == 1) {cout << 1 << endl;return 0;}if (n == 2) {cout << 3 << endl;return 0;}int sum = 1 + 2;  // 前两项的和bool negative = true;  // 下一项是否为负    for (int i = 3; i <= n; ++i) {if (negative) {sum -= i;} else {sum += i;}negative = !negative;  // 符号交替}cout << sum << endl;return 0;
}

 


34. 数列:s = 1 - 2 + 3 - … + n

输入 1  个正整数  n(n<=100) ,计算并输出 1-2+3-…+n

#include <iostream>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数nint sum = 0;for (int i = 1; i <= n; ++i) {if (i % 2 == 1) {  // 奇数位为正sum += i;} else {            // 偶数位为负sum -= i;}}cout << sum << endl;return 0;
}

 


35. 数列:s = 1 + 1/2 + 1/3 + … + 1/n

输入 1  个正整数  n(n<=100) ,计算并输出 1+1/2+1/3…+1/n 

#include <iostream>
#include <iomanip>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数ndouble sum = 0.0;for (int i = 1; i <= n; ++i) {sum += 1.0 / i;  // 每一项都是正数,直接相加}// 输出结果,保留4位小数cout << fixed << setprecision(4) << sum << endl;return 0;
}


36. 数列:s = 1 - 1/2 - 1/3 - … - 1/n

输入 1  个正整数  n(n<=100) ,计算并输出 1-1/2-1/3…-1/n 

#include <iostream>
#include <iomanip>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数n// 处理n=1的特殊情况if (n == 1) {cout << "1.0000" << endl;return 0;}double sum = 1.0;  // 第一项是1for (int i = 2; i <= n; ++i) {sum -= 1.0 / i;  // 后续各项都是减去1/i}// 输出结果,保留4位小数cout << fixed << setprecision(4) << sum << endl;return 0;
}

 


37. 数列:s = 1 + 1/2 - 1/3 + … + 1/n

输入 1  个正整数  n(n<=100) ,计算并输出 1+1/2-1/3…+1/n 

#include <iostream>
#include <iomanip>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数ndouble sum = 0.0;for (int i = 1; i <= n; ++i) {if (i % 2 == 0) {  // 偶数项为正sum += 1.0 / i;} else {            // 奇数项(除了i=1)为负if (i == 1) {sum += 1.0;} else {sum -= 1.0 / i;}}}// 输出结果,保留4位小数cout << fixed << setprecision(4) << sum << endl; return 0;
}


38. 数列:s = 1 - 1/2 + 1/3 + … - 1/n

输入 1  个正整数  n(n<=100) ,计算并输出 1-1/2+1/3…-1/n 

#include <iostream>
#include <iomanip>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数ndouble sum = 0.0;for (int i = 1; i <= n; ++i) {if (i % 2 == 1) {  // 奇数项为正sum += 1.0 / i;} else {            // 偶数项为负sum -= 1.0 / i;}}// 输出结果,保留4位小数cout << fixed << setprecision(4) << sum << endl;return 0;
}


39. 数列:s = 1 + 1/4 + 1/7 + 1/10 ... + 1/(3*n-2)

输入一个正整数 n ,计算前 n 项之和: 1+1/4+1/7+1/10...+1/(3*n-2)  

#include <iostream>
#include <iomanip>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数ndouble sum = 0.0;for (int i = 1; i <= n; ++i) {sum += 1.0 / (3 * i - 2);  // 计算第i项并累加}// 输出结果,保留4位小数cout << fixed << setprecision(4) << sum << endl;return 0;
}


40. 数列:s = 1 - 1/4 - 1/7 - 1/10 ... - 1/(3*n-2)

输入一个正整数 n ,计算前 n 项之和: 1-1/4-1/7-1/10...-1/(3*n-2)  

#include <iostream>
#include <iomanip>
using namespace std;
int main() {int n;cin >> n;  // 输入正整数nif (n == 1) {cout << "1.0000" << endl;return 0;}double sum = 1.0;  // 第一项是1for (int i = 2; i <= n; ++i) {sum -= 1.0 / (3 * i - 2);  // 减去后续各项}// 输出结果,保留4位小数cout << fixed << setprecision(4) << sum << endl;return 0;
}

 

http://www.xdnf.cn/news/41689.html

相关文章:

  • Vue3 + TypeScript,使用祖先传后代模式重构父传子模式
  • Redis日常学习(一)
  • 基于Django的AI客服租车分析系统
  • QT6 源(37):界面组件的总基类 QWidget 的源码阅读(下,c++ 代码部分)
  • TDengine 整体构架
  • AI Agent破局:智能化与生态系统标准化的颠覆性融合!
  • 分布自定义shell脚本(详写)附带全代码
  • BT1120 BT656驱动相关代码示例
  • DNS主从同步
  • FFUF指南
  • 高速系统设计简介
  • dac直通线还是aoc直通线? sfp使用
  • -SSRF 服务端请求Gopher 伪协议无回显利用黑白盒挖掘业务功能点
  • UE Datasmith资源导入导出
  • BT-Basic函数之首字母XY
  • 4. 话题通信 ---- 发布方和订阅方cpp文件编写
  • Java实现将MarkDown保留文档内容及格式输出到浏览器页面
  • 2.2/Q2,GBD数据库最新文章解读
  • 模拟算法(一)作业分析及答案
  • java lambda
  • C++入门七式——模板初阶
  • sed命令笔记250419
  • Nacos启动报错
  • BMS电池管理芯片BQ76920芯片手册详细解读
  • python基础知识点(2)
  • stack和queue
  • 借助LlamaIndex实现简单Agent
  • 多模态融合(十一): SwinFusion——武汉大学马佳义团队(二)
  • 英语四级翻译题练习文章示例
  • 生物化学笔记:医学免疫学原理23 免疫检查点分子与肿瘤免疫治疗(PD-1抑制剂黑色素瘤)