输入int型变量 scanf("%d", &x);
输入double型变量 scanf("%lf", &x); 不用float直接double
输入char类型变量 scanf("%c", &x);
输入字符串数组 scanf("%s", s);
输出与输入表示方式一致
scanf输入解析
输入日期 2019-10-21
int year, month, day;
scanf("%d-%d-%d", &year, &month, &day);
printf("%d %d %d\n", year, month, day);
这样可以直接解析出来
同理
输入时间 18:21:30
int hour, minute, second;
scanf("%d:%d:%d", &hour, &minute, &second);
printf("%d %d %d\n", hour, minute, second);
scanf和gets
输入一行字符串带空格的话,使用gets,scanf遇到空格会自动结束
char s[105];
gets(s);//例如输入how are you?
printf("%s\n", s);
getchar和putchar
读入单个字符和输出单个字符,一般在scanf和gets中间使用getchar用于消除回车’\n’的影响
输出进制转换
int a = 10;
printf("%x\n", a);//小写十六进制输出 答案a
printf("%X\n", a);//大写十六进制输出 答案A
printf("%o\n", a);//八进制输出 答案12
输出增加前置0
int a = 5;
printf("%02d\n", a);//其中2代表宽度 不足的地方用0补充
输出结果05
printf("%04d\n", a);
输出结果0005
输出保留小数
double a = 3.6;
printf("%.2lf\n", a);//2表示保留两位小数
输出结果3.60
有小数输出小数,没小数输出整数
%g
特别注意:中文符号和英文符号要对应一致,一般情况下都用英文符号(如中文逗号,和英文逗号,)
long long的使用
很多情况下的计算会超出int,比如求N!,N比较大的时候int就存不下了,这时候我们就要用long long。那么我们怎么去记int和long long的范围呢,有一个简单的记法,int范围-1e9到1e9,long long范围-1e18到1e18,这样就容易记了。
long long x;
scanf("%lld", &x);
printf("%lld\n",...
掌握输入输出技巧
登录后开始许愿