我的c错题本

Posted 繁凡さん

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的c错题本相关的知识,希望对你有一定的参考价值。

我的错题总结

萌新报到!菜鸡萌新的错题总结刚刚踏上ACM之旅,在博客上记录一些知识,方便复习,如果有错误,烦请各位大佬评论指正,非常感谢!!
老司机们带带我
1.
/普通年:能被4整除但不能被100整除的年份为普通闰年。
世纪年:能被400整除的为世纪闰年。
/
2.
单纯的&1是没有意义的 而且是非法的

但是一个变量 a&1 是合法的 代表的意思是a和1做二进制的且运算 即看a的最后边那一位是不是1

是1的话(奇数) 返回1 否则返回0

那是不是就是判断奇偶呢?等效于a%2==0/1,那两种写法有什么区别?谢谢
是的 两者目的一样 但是a%2的效率要低一些 没有&运算快
3.
goto语句也只限于一个函数内,不能进行函数间的跳转。在c语言中,进行函数间的跳转使用setjmp和longjmp函数。
4.
n=n*8+*p-‘0’;指针p一位一位的往后走
*p-'0’就是将字符变成数字,例如123 当 p指向1的时候,*p = ‘1’ ,而‘1’-‘0’就是两者之间的ASCII码进行相减,
结果就是1了。
所以

n = 0*8+1=1
n=1*8+2=10
n=10*8+3=83
n=n*2+*p-'0';//二进制转十进制

如有输入多组值的时候,注意每次开始新的一组时值要清零

#include<stdio.h>
#include<math.h>
int main()

	int i,j;
	while(scanf("%d%d",&i,&j)!=EOF)
	
	    int n=0,x=0;/*注意这里要清零*/
		for(i;i<=j;i++)
	  
	    if(i&1)
			n+=(int)(pow(i,3));
		else
			x+=(int)(pow(i,2));
	  
	printf("%d %d\\n",x,n);
	
	return 0;

   if(m > n)      // 保证m<=n,以便控制循环
               i = m;
               m = n;
               n = i;
                     

像这道题,一定要注意保证m<=n,要多写这一步
6.
%f代表单精度浮点型数据(float),%lf代表双精度浮点型数据(double)。
7.
7.1// 计算立方和:从个位、十位到百位分别计算求和

     int sum = 0;
		t = i;
            while(t) 
               int t2 = t % 10;
               sum += t2 * t2 * t2;
               t /= 10; // 去掉个位
            //取每一位的数
7.2//

输出结果(没有水仙花数)和换行

     if(count == 0)
            printf("no");
        printf("\\n");
	//如果有要求没有的时候输出no这种要再定义一个变量用于储存目标的个数

8.如果遇见要求求得不等式的前n项和,用for循环并用if来限定好条件;
9.
如果进入一个函数没有达到要求未运行则return 的值默认为-1
10.
如果要求有单位,如5w即为50000
那么应该这样:

scanf("%d%c ",&a,&aa); 
		 
		 if(aa=='w')`在这里插入代码片`
			 a*=10000;

.
main’必须返回‘int’ c/c++的main函数必须是int类型,而且最后要return 0。这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求!
多组输出可以这样:

printf("                ********\\n"
	"               ************\\n"
	"########################################## ############\\n" );
	
if(n%a[i][0]!=0) 
		 
                cnt[i]=n/a[i][0]+1;  //除完不为零则下面除完要加一(int只舍不入)   
                         

s

-=c-300等价于s=s+300-c
13.

        x=i;
	if(x<min)
	min=x;//如果要求输出的是最小的那么在循环的时候要注意这一点,声明一个min用于储存这一最小值用(if)
        h+=s/100;
	s%=100;//h用于接收s中百位以上的数,用%100即可得到s的后两位


#include<time.h>
	printf(Time used="%.2f\\n",(double)clock()/CLOCKS_PER_SEC);
	//求运行时间

以上是关于我的c错题本的主要内容,如果未能解决你的问题,请参考以下文章

错题本

图论知识错题本

错题本做好后家长如何监督孩子做练习

错题本中的错题类型分析与归纳方法

错题本杂乱,没时间看?试试这么做

错题本