鱼C论坛

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

[已解决]求整数段和

[复制链接]
发表于 2022-3-21 21:38:15 | 显示全部楼层 |阅读模式

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

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

x
题目描述

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。


输入

在一行中给出2个整数A和B,其中-100≤A≤B≤100,其间以空格分隔。


输出

首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。

输出样例:
   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30
最佳答案
2022-3-21 22:12:44
  1. A, B = map(int, input().split())

  2. arr = [i for i in range(A, B + 1)]

  3. count = 0
  4. for i in arr:
  5.     if count == 5:
  6.         print()
  7.         count = 0
  8.     print(f'{i:5}', end='')
  9.     count += 1

  10. print(f'\nSum = {sum(arr)}')
复制代码

D:\>python test.py
-3 8
   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-21 21:58:40 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. #define MIN -100
  4. #define MAX 100

  5. int main(void)
  6. {
  7.         int a, b, i, sum;

  8.         // 获取输入
  9.         scanf("%d", &a);
  10.         scanf("%d", &b);

  11.         // 判断是否符合要求
  12.         if(!(MIN<=a && a<=b && b<=100))
  13.         {
  14.                 printf("输入不符合要求。\n");
  15.                 return 0;
  16.         }

  17.         sum = 0;
  18.         for(i=1; a<=b; i++, a++) // i 用于记数换行,a自增为退出条件
  19.         {
  20.                 printf("%d ", a);
  21.                 if(i%5==0) // 5列
  22.                 {
  23.                         printf("\n");
  24.                 }
  25.                 sum += a; // 求和
  26.         }

  27.         printf("\nSum = %d\n", sum);

  28.         return 0;
  29. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 22:12:44 | 显示全部楼层    本楼为最佳答案   
  1. A, B = map(int, input().split())

  2. arr = [i for i in range(A, B + 1)]

  3. count = 0
  4. for i in arr:
  5.     if count == 5:
  6.         print()
  7.         count = 0
  8.     print(f'{i:5}', end='')
  9.     count += 1

  10. print(f'\nSum = {sum(arr)}')
复制代码

D:\>python test.py
-3 8
   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 22:36:51 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2022-3-21 22:37 编辑

  1. A, B = map(int, input().split())
  2. sum = 0
  3. for n, num in enumerate(range(A, B+1)):
  4.     print(f"{num:>5}", end = "") if (n+1)%5 else print(f"{num:>5}")
  5.     sum += num
  6. print("\nsum =", sum)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 13:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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