更多内容参考:http://blog.youkuaiyun.com/qianfu111/article/details/7020174
更多参考:http://www.cnblogs.com/leewiki/archive/2011/12/13/2286168.html
DEMO1:C++输出保留两位小数:
//计算两点间距离
#include <iostream>
#include<cmath>
#include <iomanip>//关于精度位数到的函数定义在这个文件里
using namespace std;
int main()
{
double x1,y1,x2,y2;
while(cin>>x1>>y1>>x2>>y2){
//注意C++怎样保留固定位数的小数
//第一种方法
//cout<<setprecision(2) <<std::fixed<<sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))<<endl;
//第二种方法
cout<<setiosflags(ios_base::fixed);
cout<<setprecision(1);
cout<<sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))<<endl;
}
return 0;
}
DEMO2:C++按十六进制输入输出,实现十六进制加法
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
long long int x,y;
while(cin>>hex>>x>>y)
{
if(x+y>=0){
//十六进制大写输出的第一种方法
cout<<setiosflags(ios::uppercase)<<hex<<x+y<<endl;
//十六进制大写输出的第二种方法
//cout.setf(ios::uppercase);
//cout<<std::hex<<x+y<<endl;
}
else{
//注意输出十六进制负数的技巧,如果直接输出会有许多ffff
cout<<"-";
cout<<setiosflags(ios::uppercase)<<hex<<-(x+y)<<endl;//十六进制大写输出
}
}
return 0;
}
DEMO2:C语言按十六进制输入输出,实现十六进制加法
#include<stdio.h>
int main3()
{
long long int x,y,z;
while(~scanf("%llx%llx",&x,&y))//x或者X表示输入输出是十六进制
{
if(x+y>=0)
printf("%llX\n",x+y);
else
printf("-%llX\n",-(x+y));
}
return 0;
}
C语言常用的输入输出格式后缀
%a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号