输入
1、 算法解题过程中,经常会遇到多组输入问题,如果是输入一个n表示n组测试数据,可以使用whlie(n–),注意输出的位置,如果是多组输入,没有限制几组,通常使用while(scanf("%d%d",a,b)==2) 或者while(scanf("%d",a)==1)或者while(scanf("%d",a));
2、 scanf输入的时候,需要注意输入数据的类型,如果是整型,则是scanf("%d",&n);如果是单精度float类型,则是scanf("%f",&n);如果是双精度double,则是scanf("%lf",&n);如果是字符串char str[100],输入则是scanf("%s",str);不用加&, 因为在C语言中数组名就代表该数组的起始地址
3、 输入字符串的时候,可以用scanf()或者gets(),但两者有不同的地方,scanf()遇到空格就会认为字符串已经结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
4、 当输入%时,这样操作printf("%d%%\n",a);‘
输出
1、 输出也需要注意格式。注意数据的类型。
2、 输出保留几位小数例如保留2位小数就是printf("%.2f\n");后面的点+数字就是保留几位小数。如果是保留x位小数,x是个变量,代码为printf("%.*lf",x,d),即通过.*匹配x。
3、 输出的时候记得换行,在OJ系统上,大多数题目输出的结果需要换行,如果不加就会导致答案错误。
4、 当题目要求输入多组测试数据,当数据为0时,输入结束,可以用while(scanf("%d",&n)&&n!=0);whlie(scanf("%d",&n)&&n);while(scanf("%d",&n),n),实现。
知识点
1、 要定义一个圆周率π,可以引入头文件#include<math.h>,利用反三角函数const double pi = acos(-1.0)。
2、 #include <string.h>头文件中的函数strlen 只可以用来测试字符型数组的长度,其他类型不可以,这个在二进制字符串模拟运算中使用过。
3、 要表示一个数的几次方可以引入头文件#include<math.h>,pow(2,31)表示2的31次方。
4、 大写字母和小写字母的ASCII相差32,大写的A 是65,小写的a 是97, 字母依次增大,号码也相应增大,大写变小写+32,小写变大写-32。