版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则会用法律维权! https://blog.csdn.net/weixin_43905586/article/details/88613889
题滴链接https://pintia.cn/problem-sets/994805046380707840/problems/994805135224455168
L1-008 求整数段和 (10 分)
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X
的格式输出全部数字的和X
。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30
鄙人拙见
- 考察点:一维转二维输出,换行
- 思路:将每个要计算的数字存入一维数组,然后按二维格式输出,最后求一下和
- 注意:换行
C++参考代码1.0:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int n = b - a + 1;
int num[n];
for(int i = 0; i < n; i++)
{
num[i] = a + i;
}
int t = 0;
int hang;
if(n % 5 == 0)
{
hang = n / 5;
}
else
{
hang = n / 5 + 1;
}
for(int i = 0; i < hang; i++)
{
for(int j = 0; j < 5; j++)
{
if(t < n)
{
printf("%5d",num[t]);
}
t = t + 1;
}
printf("\n");
}
int sum = 0;
for(int i = 0; i < n; i++)
{
sum = sum + num[i];
}
printf("Sum = %d",sum);
return 0;
}