首页 > 编程语言 >本题要求编写程序,计算序列 1+2/3+3/5+4/7+5/9+6/11+... 的前N项之和。输入格式:在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留 2 位小数。

本题要求编写程序,计算序列 1+2/3+3/5+4/7+5/9+6/11+... 的前N项之和。输入格式:在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留 2 位小数。

时间:2024-12-22 15:32:07浏览次数:10  
标签:输出 函数 int sum 一行 fun 格式 main 输入

#include <stdio.h>

int main() {

    int n;

    scanf("%d", &n);

    double sum = 0;

    for (int i = 1; i <= n; i++) {

        sum += (double)i / (2 * i - 1);

    }

    printf("%.2f\n", sum);

    return 0;

}

注意sum要强制转换类型

方法2:

#include <stdio.h>

 

int fun(int n) {

    int sum = 0;

    for (int i = 1; i <= n; i++) {

        sum += i;

    }

    return sum;

}

 

int main() {

    int n;

    printf("请输入一个整数:");

    scanf("%d", &n);

    int result = fun(n);

    printf("1 到 %d 的和为:%d\n", n, result);

    return 0;

}

以下是对这段C语言代码的分析:

 

代码功能

 

这段代码的主要功能是实现计算从1到用户输入的整数  n  的累加和,并将结果输出显示。

 

1.  fun  函数部分:

 

- 定义了一个名为  fun  的函数,它接受一个整型参数  n  。

- 在函数内部,通过  for  循环,从  i = 1  开始,每次递增  1  ,直到  i <= n  为止,在循环体中将  i  的值累加到变量  sum  中,最终返回这个累加和  sum  。

2.  main  函数部分:

 

- 首先定义了一个整型变量  n  ,然后通过  printf  函数提示用户输入一个整数,接着使用  scanf  函数获取用户输入的整数并存入变量  n  中。

- 调用  fun  函数,将用户输入的  n  作为参数传递进去,把  fun  函数返回的结果保存在变量  result  中。

- 最后通过  printf  函数输出提示信息以及计算得到的从  1  到  n  的累加和,也就是  result  的值。

 

代码示例运行情况

 

例如,当用户输入整数  5  时,程序的执行流程如下:

 

- 在  main  函数中,用户输入  5  被  scanf  接收并存入  n  变量。

- 接着调用  fun  函数,在  fun  函数里的  for  循环会依次让  i  取  1 、 2 、 3 、 4 、 5  ,并将这些值累加到  sum  中,最终  sum  的值为  1 + 2 + 3 + 4 + 5 = 15  ,这个  15  作为返回值返回给  main  函数中的  result  变量。

- 然后在  main  函数中输出  "1 到 5 的和为:15"  这样的结果信息。

 

可改进之处

 

- 输入合法性检查方面:当前代码没有对用户输入进行合法性检查,如果用户输入的不是合法的整数(比如输入字母等),程序可能会出现未预期的行为甚至崩溃。可以添加代码来判断  scanf  的返回值,对错误输入进行相应处理,比如提示用户重新输入正确的整数。

- 数据类型范围考虑:如果用户输入的整数非常大,可能会超出  int  类型所能表示的范围,导致溢出问题。对于这种情况,可以考虑使用更大范围的数据类型,比如  long long  类型来处理可能的大数情况。

 

标签:输出,函数,int,sum,一行,fun,格式,main,输入
From: https://blog.csdn.net/2401_87723168/article/details/144647089

相关文章

  • 游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别
    游泳溺水识别数据集:对9984张原始图片进行YOLO,COCOJSON,VOCXML格式的标注,平均识别率在91.7%以上,可识别泳池或者水库中是否有人溺水。 数据集分割训练组98%        9818图片有效集%        0图片测试集2%        166图片......
  • 如何输出一个随机数
    1、首先介绍rand函数,rand()可以生成一个随机数intret=rand();,rand生成的最大值0x7fff换算成十进制为32767(不懂转换的宝宝可以看我的往期博文——补充一点关于各种进制的转换)2、配合srand使用srand()括号里要是unsignedint类型的数字,而且要时刻变化的数字,啥时刻在变化呢,当然......
  • 如何在易优CMS中使用 MyDate 函数格式化日期?
    在易优CMS中,MyDate 函数用于将时间戳格式化为指定的日期格式。这对于显示文章的发布日期、更新日期等非常有用。以下是 MyDate 函数的基本用法和一些示例:基本用法php {$eyou.field.update_time|MyDate='日期格式',###}update_time 是包含时间戳的字段。'日期格式'......
  • 如何在易优CMS中输出单条广告的数据?
    在易优CMS中,如果你希望输出单条广告的数据,可以使用ad标签。以下是一个具体的示例:{eyou:adaid='37'}<ahref="{$field.links}"{$field.target}><imgalt="{$field.title}"src="{$field.litpic}"/></a>{/eyou:ad}在这个......
  • 如何在易优CMS中使用field标签输出指定栏目的文档列表?
    在易优CMS中,要使用field标签输出指定栏目的文档列表,可以通过嵌套channelartlist和arclist标签来实现。具体步骤如下:使用channelartlist标签获取指定栏目ID下的子栏目列表。在每个子栏目内使用arclist标签获取该子栏目下的文档列表。使用field标签获取文档的相关字段值。以下......
  • 支持彩色字体有哪些格式?
    支持彩色字体的格式主要有以下几种,它们在前端开发中有着广泛的应用:SBIX:这是由Apple主导的位图字体标准,主要在macOS和iOS系统上使用。SBIX即标准位图图像表,其中包含了PNG、JPEG或TIFF的图片信息,对其的支持集成在了macOS和iOS中。这种格式特别适合于需要高分辨率和丰富色彩表现的......
  • 有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生的数据,要求
    #include<stdio.h>#defineN3structstudent{charnum[10];//学号charname[10];//姓名floatcj[N];//3门课程成绩floatavg;//平均分};intmain(){structstudentstu[N],max[N],temp;inti,j,k;floatsum=......
  • 三轴云台的信号输出方式篇
    一、主要信号输出方式PWM信号输出:PWM(PulseWidthModulation,脉冲宽度调制)是一种常见的信号输出方式,通过改变脉冲信号的占空比来控制电机的转速和转向。在三轴云台中,PWM信号通常用于控制云台电机的运动,实现云台的俯仰(Pitch)、横滚(Roll)和偏航(Yaw)三个方向的旋转。MAVLink信号输......
  • 如果执行bt default命令没有输出信息,应该怎么办?
    如果你在执行btdefault命令后没有看到任何输出信息,可能是由于以下几种原因:宝塔面板未安装或未启动:原因:宝塔面板可能没有正确安装或未启动。解决方法:检查宝塔面板是否已经安装。可以使用以下命令检查宝塔面板的状态:bash systemctlstatusbt如果服务没有运行,可以......
  • 39.在 Vue3 中使用 OpenLayers 导出 GeoJSON 文件及详解 GEOJSON 格式
    一、引言在Web地图开发领域,Vue3作为一款流行的前端框架,结合强大的OpenLayers地图库,能够实现丰富多样的地图功能。其中,将地图数据以GeoJSON格式导出是一项常见且实用的需求,本文将深入探讨如何在Vue3环境下借助OpenLayers达成这一目标,并详细剖析GeoJSON格式文件。......