1.n=(int)log10(x)+1; //求未知数的x的位数
2.x=(int)((n/2.0)+0.5); //四舍五入
3.最大公约数,辗转相除法函数
int gcd(int a,int b) { if(a==0) return 0; else return (b==0)?a:gcd(b,a%b); }
4,最小公倍数的求解在最大公约数的基础上进行
欲求n与m的最小公倍数lcm,lcm=a/gcd*m.
5.scanf中 *用来跳过不存入变量,%md可用来读取指定m位数的数存入变量当中.
scanf("%*6d%4d%2d%2d%*d",&y,&m,&a); printf("%04d-%02d-%02dn",y,m,a);
6.( a[i] - ‘0’ ) 要使用其字面数值意义(1,2,3,4…)需要减去一个字符 ’0‘。
直接运算的话虽然会自动转为int型参与运算,但这个运算的值是其的ASCLL码值。
7.在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。
例如:
int a,b; char b[10]; scanf("%d%*s",&a,b);
//输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)