当前位置: 首页 > 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;
}

 

相关文章:

  • sort自定义排序函数tips【C++】
  • 维普期刊(瑞数6)分析
  • Android开发中广播(Broadcast)技术详解
  • rag搭建,是如何进行向量匹配检索的?
  • Transfomer的本质
  • 【Android】Wallpaper学习
  • 博客系统案例练习2-用户注册-redis
  • 数据库知识
  • 电解电容失效分析过程、失效分析报告
  • 450.删除二叉搜索树中的节点
  • 【Vulkan 入门系列】创建交换链、图像视图和渲染通道(四)
  • 【2025面试常问Java八股】AQS介绍(AbstractQueuedSynchronizer 抽象队列同步器)
  • PyCharm使用Anaconda 中的虚拟环境
  • PowerBi如何制作KPI的总览页?
  • 关于AI:记忆、身份和锁死
  • Function calling LLMs 的 MCP:AI开发的双剑合璧
  • [OpenGL]使用OpenGL实现基于物理的渲染模型PBR(下)
  • 大数据应用开发——大数据平台集群部署(四)
  • 【KWDB 创作者计划】_上位机知识篇---Arduino
  • 什么是 C++中的const?
  • 吸引更多开发者,上海智元发布行业首款具身智能一站式开发平台
  • 经济大省中川、豫、浙一季报已发:GDP增速均高于全国
  • 延安市委副书记马月逢已任榆林市委副书记、市政府党组书记
  • 林诗栋4比1战胜梁靖崑,晋级世界杯男单决赛将和雨果争冠
  • 石黑一雄《莫失莫忘》与“克隆人”:殖民地的记忆与行动
  • 特朗普政府将对中国建造船只加征“港口费”,外交部:损人害己