L1-008求整数段和

题目描述:

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

输入格式:
输入在一行中给出2个整数A和B,其中-100<=A<=B<=100,其间以空格分隔。

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

输入样例:
-3 8

输出样例:
   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30
#include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{
	int A,B;
	cin>>A;
	cin>>B;
	//Final Sum 
	int result = 0;
	//lines 
	int times = 0; 
	for(int i=A;i<=B;i++)
	{
		int count = 0;
		times++;
		result += i;
		int m = abs(i);
		if(i<0)
		    count += 1;
        if(m==100)
            count += 3;
        else
		    if(m>=10)
		        count += 2;
            else
                count += 1;
        for(int j=0;j<5-count;j++)
            cout<<" ";
		cout<<i;
		if(times%5==0)
            cout<<endl;
	}
	if(times%5!=0)
	    cout<<endl;
	cout<<"Sum = "<<result<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/numbstorm/article/details/79870943