首页 > 代码库 > 学习盲点

学习盲点

1:在输入时,尽量不要一个字符一个字符输入,应换成字符串。由于enter键算一个字符。(3中可证明)

2.scanf仅仅输入字符串时,空格表示结束!

3.#include <stdio.h>

char a[100010];

int main(int argc, char *argv[])

{

       longint M,T,i,j;

       intU,F,D,q,e=0;

       scanf("%ld%ld%d%d%d",&M,&T,&U,&F,&D);

       for(i=0;i<T;i++)

       {

              scanf("\n");/*/n要放在&a[i]*/

              scanf("%c",&a[i]);

       }    

       for(j=0;j<T;j++)

       {

              if(a[j]==‘u‘)

              q=U+D;

              elseif(a[j]==‘d‘)

              q=U+D;

              else

              q=2*F;

              if(j==0&&M<q)

              {

                     e=1;

                     printf("0\n");

                     break;

              }    

              M=M-q;

              if(M<0&&M+q>=0)

              {

                   e=1;

                   printf("%ld\n",j);

            break;

              }

       }

       if(e==0)

       printf("%ld\n",T);              

       return0;


4.printf的特殊使用方法:对于m,n的格式能够用例如以下方法表示

Char ch[20];

Printf(“%*.*s\n”,m,n,ch);

前边的“定义的是总的宽度,后面定义色是输出的个数,分别相应外面的參数m和n。这样的方法的优点就是能够在语句之外对參数m和n赋值,从而控制输出格式。

5.三角形x0*y1+x2*y0+x1*y2-x2*y1-x0*y2-x1*y0是三角形(x0,y0)- (x1,y1) - (x2,y2)有向面积的两倍。假设3顶点逆时针,有向面积为正,顺时针为负,在一直线上为0.