5-14 求整数段和
给定两个整数AAA和BBB,输出从AAA到BBB的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数AAA和BBB,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从AAA到BBB的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30
解题思路:
主要是输出格式的控制。%md
代表输出输出的字符宽度(包括符号位),若不足 m,在左端补空格,若大于 m,原位输出。m 也可以是负值,相应地,不足 m 时,在右端补空格。
每 5 个一行用 %5 来控制。
解题代码:
#include<stdio.h>
int main ()
{
int A, B;
scanf("%d %d", &A, &B);
int sum = 0, count = 0;
while (A <= B) {
sum += A;
printf("%5d", A++);
count++;
if (count % 5 == 0 && A-1 < B) { //添加 A<B 防止数的总数恰为 5 的整数倍时多出的回车
printf("\n");
}
}
printf("\n");
printf("Sum = %d\n", sum);
return 0;
}