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要放在&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 ");
break;
}
M=M-q;
if(M<0&&M+q>=0)
{
e=1;
printf("%ld ",j);
break;
}
}
if(e==0)
printf("%ld ",T);
return0;
4.printf的特殊使用方法:对于m,n的格式能够用例如以下方法表示
Char ch[20];
Printf(“%*.*s ”,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.