PAT-输入输出

数字

数字输入

scanf("%lf", &double类型变量); //标准规定是%lf
scanf("%lld", &long long 类型变量);//接收long long类型使用%lld

数字输出

// 输出固定占位的整数
printf("%010d", 整数); //0表示前面若有空位,填补0,输出固定10位

//vector.size()返回的是unsigned int,测试数据量比较大的时候,需要使用%lu输出,测试数据小使用%u
printf("%lu",v[2].size()); 

//标准规定用%f,有些系统支持用%lf输出double但最好不要用,按照标准来
printf("%f",double类型变量); 

// 输出long long
printf("%lld.%lld.%lld",g,num/29,num%29);

// double要求保留小数点后2位
printf("%.1f",A4/v[3].size());
//控制小数位数就是通过输出格式说明符来规定的
//举例说明如下:
//1、float f1=3.1415926;
//2、float f2=1234.1415926;
//3、float f3=124.1;
//4、printf("%3.4f",f1);//输出结果为:_ _ 3.1416(_表示空格)
//5、printf("%3.4f",f2);//输出结果为:1234.1416
//6、printf("%3.4f",f3);//输出结果为:124.1000
//printf("%3.4f",f);中的3是控制f的整数部分按3位的固定位宽输出;4是按四舍五入的准则保留4位小数。
//注:如果整数部分不足3位,则在前面补空格,超过3位,则按实际位数输出;如果小数部分不足4,则在后面补0。

//输出字符串类型使用%s
printf("%s", 字符串类型);

输出转义

输出百分号 printf("%%")或者printf('c','%')

测试样例输入方式

while...EOF型(题目没有给定输入的结束条件)

字符数组

while(~scanf("%s",s)) {} //等价于while(scanf("%s",s)!=EOF){}

两者作用是相同的
~是按位取反
scanf的返回值是输入值的个数
如果没有输入值就是返回-1
-1按位取反结果是0
while(~scanf("%d", &n))就是当没有输入的时候退出循环
EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。
EOF 的值通常为 -1

字符串

string str;
while(cin>>str){}
//问题描述:在使用while(cin>>temp)进行循环接收输入时,会遇到while循环跳不出来
//解决方法:输入完数据后->回车->ctrl+z->回车
原文地址:https://www.cnblogs.com/houzm/p/12327633.html