鱼C论坛

 找回密码
 立即注册
查看: 1724|回复: 3

[已解决]求代码

[复制链接]
发表于 2023-6-9 11:25:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述
Sn=1-1/2+1/3-1/4+........       
输入
n
输出
Sn,保留5位小数

样例输入
100
样例输出
Sn=0.68817

                                                                                                                                                                                .                                                                                                                                                                                                        ..
最佳答案
2023-6-10 10:52:01
n = int(input())
s = 0
for i in range(1, n+1):
    sign = (-1) ** (i+1)
    s += sign / i
print("Sn={:.5f}".format(s))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-9 11:32:04 | 显示全部楼层
下面是一个使用C语言的解决方案:

  1. #include<stdio.h>

  2. int main() {
  3.     int n, i;
  4.     double sum = 0;
  5.    
  6.     printf("请输入n的值: ");
  7.     scanf("%d", &n);
  8.    
  9.     for(i = 1; i <= n; i++) {
  10.         if(i % 2 == 0) {
  11.             sum -= 1.0/i;
  12.         } else {
  13.             sum += 1.0/i;
  14.         }
  15.     }
  16.    
  17.     printf("Sn=%.5lf\n", sum);
  18.    
  19.     return 0;
  20. }
复制代码


这个程序首先提示用户输入一个数值 n 。然后,它遍历从1到 n 的所有整数。如果当前的整数 i 是偶数,程序就从总和中减去1/ i ,否则,就把1/ i 加到总和中。最后,它输出结果,保留五位小数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-10 10:52:01 | 显示全部楼层    本楼为最佳答案   
n = int(input())
s = 0
for i in range(1, n+1):
    sign = (-1) ** (i+1)
    s += sign / i
print("Sn={:.5f}".format(s))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 07:13:44 | 显示全部楼层
本帖最后由 高山 于 2023-6-29 07:15 编辑

这个题目可以使用 C 语言来计算数列的部分和并保留5位小数。

以下是使用 C 语言编写的代码示例:


  1. #include <stdio.h>

  2. double calculate_partial_sum(int n) {
  3.     double sum = 0;
  4.     int sign = 1;
  5.    
  6.     for (int i = 1; i <= n; i++) {
  7.         sum += (double)sign / i;
  8.         sign *= -1;
  9.     }
  10.    
  11.     return sum;
  12. }

  13. int main() {
  14.     int n;
  15.     printf("请输入项数:");
  16.     scanf("%d", &n);
  17.    
  18.     double result = calculate_partial_sum(n);
  19.     printf("Sn=%.5f\n", result);
  20.    
  21.     return 0;
  22. }
复制代码


C++:
  1. #include <iostream>

  2. double calculate_partial_sum(int n) {
  3.     double sum = 0;
  4.     int sign = 1;

  5.     for (int i = 1; i <= n; ++i) {
  6.         sum += static_cast<double>(sign) / i;
  7.         sign *= -1;
  8.     }

  9.     return sum;
  10. }

  11. int main() {
  12.     int n;
  13.     std::cout << "请输入项数:";
  14.     std::cin >> n;

  15.     double result = calculate_partial_sum(n);
  16.     std::cout << "Sn=" << std::fixed << std::setprecision(5) << result << std::endl;

  17.     return 0;
  18. }
复制代码


你可以将上述代码保存成一个以 `.c`(C语言或 ‘。cpp'(C++)为后缀名的文件,通过编译器(如GCC)进行编译,并执行生成的可执行文件。然后输入数列的项数来获取结果。

注意:由于本回答生成时间为 2023-06-28,所有知识截至日期为 2021-09-01,如果题目描述与预期输出有任何出入,请自行对照代码进行修改。
如果满意,别忘了点右下角设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 05:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表