1.给定两个整数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
解题思路:
第一:如何顺序输入从A到B的所有整数?
解:采用for循环,从A开始到B结束,每次加一,循环的输出从A到B的所有整数。
以此类推如果要从A开始到B结束,每次加二,循环的输出从A到B的所有整数,我们把i++改为i=i+2即可。
第二:如何每5个数字占一行且每个数字占5个字符宽度,向右对齐
解:我们可以在循环中添加一个计数点count,每输出一次count加一,用count对5取余,如果余数为零,说明够5个数字了,输出换行即可。
在C语言中,%后面跟宽度数字。printf("%5d",i)即为i占5个字符宽度输出。且C语言中默认向右对齐,printf("%-5d",i)表示向左对齐。
最终代码为:
#include<stdio.h>
int main()
{
int A,B;
int sum=0;
scanf("%d %d",&A,&B);
int count=0;
for(int i=A;i<=B;i++)
{
printf("%5d",i);
sum=sum+i;
count++;
if(count%5==0)
{printf("\n");
}
}
printf("\n");
printf("Sum=%d",sum);
}