lichar 发表于 2022-3-21 21:38:15

求整数段和

题目描述

给定两个整数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

ba21 发表于 2022-3-21 21:58:40

#include <stdio.h>
#include <stdlib.h>

#define MIN -100
#define MAX 100

int main(void)
{
        int a, b, i, sum;

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

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

        sum = 0;
        for(i=1; a<=b; i++, a++) // i 用于记数换行,a自增为退出条件
        {
                printf("%d ", a);
                if(i%5==0) // 5列
                {
                        printf("\n");
                }
                sum += a; // 求和
        }

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

        return 0;
}

isdkz 发表于 2022-3-21 22:12:44

A, B = map(int, input().split())

arr =

count = 0
for i in arr:
    if count == 5:
      print()
      count = 0
    print(f'{i:5}', end='')
    count += 1

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

傻眼貓咪 发表于 2022-3-21 22:36:51

本帖最后由 傻眼貓咪 于 2022-3-21 22:37 编辑

A, B = map(int, input().split())
sum = 0
for n, num in enumerate(range(A, B+1)):
    print(f"{num:>5}", end = "") if (n+1)%5 else print(f"{num:>5}")
    sum += num
print("\nsum =", sum)
页: [1]
查看完整版本: 求整数段和