7-2 求整数段和 (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
代码:
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
//初始化
int i,count=0,m=0;
int a,b;
//输入数据
cin>>a>>b;
//
for(i=a;i<=b;i++)
{
count++;
if(count%5!=0)
{
cout<<setw(5)<<i;
}
else if(i!=b){
cout<<setw(5)<<i<<endl;
}
else{
cout<<setw(5)<<i;
}
m+=i;
}
cout<<endl<<"Sum = "<<m;
return 0;
}
附: setw()函数使用
原文章参考:https://www.cnblogs.com/zhizhan/p/3822494.html
在C++中,setw(int n)用来控制输出间隔。
例如:
cout<<'s'<<setw(8)<<'a'<<endl;
则在屏幕显示
s a
//s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示’a’共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出。
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。
例如:
cout<<setfill('*')<<setw(5)<<'a'<<endl;
则输出:
****a //4个*和字符a共占5个位置。
注意使用时,加入头文件#include <iomanip>