MT1009 公式计算 题目:注意x和a的输入顺序
代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int x,a;
cin >> x >> a;
float c = (1/2.0)*(a*x+(a+x)/(4.0*a));
cout << setiosflags(ios::fixed) << setprecision(2) << c;
return 0;
}
MT1016·宽度与对齐
代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
// cout <<setw(5)<<setiosflags(ios::left)<<445<<" ";
// cout <<setw(5)<<setiosflags(ios::right)<<445<<endl;
// cout <<setw(5)<<setiosflags(ios::left)<<-123<<" ";
// cout << setw(5)<<setiosflags(ios::right)<<-123<<endl;
// cout << setw(5)<<setiosflags(ios::left)<<987654<<" ";
// cout << setw(5)<<setiosflags(ios::right)<<987654;
printf("%-5d %5d\n",455,455);
printf("%-5d %5d\n",-123, -123);
printf("%-5d %5d",987654, 987654);
return 0;
}
思路解析:一开始想用setw(n)的方式来把程序按格式输出,结果输出总是报错,原因是setw(n)它是对齐时往字符前补空格,会出现下面这种-123前留一个空格而不能完全对齐
445 445
-123 -123
987654 987654
使用printf("%-5d %5d\n",-123, -123);的方式输出,就可以很好对齐,因为"%-5d"它默认左对齐时,向字符串后补齐空格,右对齐时,向字符前补空格