L1-8 求整数段和

这道题比较简单,我就直接贴代码了
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a,b,sum=0,count=0;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
cout<<setw(5)<<i;
sum += i;
count++;
if(count%5==0)cout<<endl;
}
if(count%5!=0)cout<<endl;
cout<<"Sum = "<<sum;
return 0;
}
这道题里用到了格式输出,我觉得可以顺便学习一下C++的格式输出的方法,C++格式输出
比较常用的有下面这些
cout<<setw(5)<<(right<<)x; #输出的x占五个字符,默认右对齐,right可加可不加
cout<<setw(5)<<left<<x; #输出的x占五个字符,左对齐
cin>>setw(5)>>x>>setw(3)>>y; #读取五位赋值给x,读取三位赋值给y,其中x,y必须是字符串类型
cout<<fixed<<setprecision(n)<<x; #输出的x保留n位小数,注意x必须是float或者double型等有小数点的数据类型
昨天写题目还遇到了一个问题,平时容易被忽略,举个例子
while(x!='\n')
{
cou<<x;
cin>>x;
}
在这个代码里,我想重复读入数字,直到读到回车符,但是在这段代码里会进入死循环,按回车并不能跳出while循环
因为cin不能读回车,遇到回车它就停止,等待下一次输入,所以遇不到x=='\n'的情况,也就不能跳出循环了
要实现上述功能,可以把代码改成
while((x=getchar())!='\n')
{
cout<<x;
}
浙公网安备 33010602011771号