ASK HDM第一期,文字版,一些萌新常见问题的回答。 1.怎么把变量算出来(的结果)小数部分和整数部分分开? 利用强制类型转换。设变量为a, (int)a强制将浮点数a转为整型数,在转换过程中直接将小数部分丢弃,这样就得到了整数部分,再使用a-(int)a,记得分离出小数部分。 2.那怎么进行四舍五入? (int)(a+0.5) 如果a小数部分小于0.5,那么即使加上0.5,整数部分也不会发生改变;而如果a小数部分大于等于0.5,那么加上0.5,整数部分会加1。再配合强制类型转换,即可得到四舍五入的效果。 3.如何在printf输出中显示百分号%? 因为%用来作为占位符的标记,所以单独一个'%'是不能输出的,需要使用'%%'来完成输出。 4.说说scanf和printf的使用格式呗? 单个整数读入:scanf('%d',&a); 要点:%d表示需要读入一个整数,%lf表示浮点数,%c表示字符,%s表示字符数组,%lld表示long long 长整型的数据。 &符号不要忘记,这是取地址符,具体后续再解释。 两个浮点数读入:scanf('%lf%lf',&a,&b); 要点:两个占位符之间如果没有间隔,在输入数据时默认使用空格作为分隔,占位符和后面的变量是按次序一一对应的,有几个变量,就要使用几个占位符。 字符串的读入:scanf('%s',a); 要点:注意a之前没有'&',目前,我们只需要记住,除了这种特殊情况之外,都是要加'&'符号的。 单个整数的输出:printf('%d',a); 要点:注意占位符和变量类型的匹配,变量前无需使用取地址符& 控制浮点数小数位数输出:printf('%.2lf',a); 要点:需要x位小数,就写'%.xlf',注意是字母l,而不是数字1 5.这是怎么回事? 两个错误。 一是return 0之后缺少分号,这是初学者很容易犯的错误。 二是%.2lf中的字母l写错了。 |
|