A关于简单整数输入,有两种:
scanf("%d%lld",&a,&b);
cin>>a>>b;
对于整行的字符串输入:
1) getline();
以回车作为结束
例:char str[30];
cin.getline(str, 30); 第二个参数为要读取的字符数
注意:getline()会丢弃换行符
2) get()
以回车作为结束
例:char str[30];
cin.get(str,30);
cin.get(); //吸收空行
注意:get()不会丢弃换行符,所以可以使用get()消除换行符。(c++中用cin.ignore()消除换行符)
C++中还有一个getline(),在string类库中
例: #include <string>
string str;
getline(cin,str);
B关于输出格式:
设置域宽
1> <iomanip>
cout<<right<<setw(4)<<Intnum; //右对齐,域宽为4
cout<<left<<setw(4)<<Intnum; //左对齐
2> <cstdio>
printf("%4d",Intnum); //默认右对齐
printf("%04d",Intnum); //用0填充
设置小数位数
3> <iomanip>
cout<<setprecision(4)<<Doublenum; //保留4位有效数字
cout<<fixed<<setprecision(4)<<Doublenum; //小数点后保留4位小数
cout<<scientific<<setprecision(4)<<Doublenum; //科学计数法保留4位小数
4> <cstdio>
printf("%.4f",Doublenum); //小数点后保留四位小数
C处理输入的字符串
<string>
<sstream>
string str;
getline(cin,str); //读入一行
istringstream ss(str);
ss >> sa >> sb;
str ="aaa bb"
/// sa = "aaa",sb="bb"
D 输入的数字字符串转数字
例://将“12345”转化为十进制数12345
int a;
char str[50];
while(cin>>str){
sscanf(str,"%d",&a);
cout<<a<<endl;
}