1.如何实现输入是0.0就跳出循环?
答:while(scanf(“%lf”,&d),d>0) //不满足输入结束就进入处理循环,否则程序结束
备注:while(scanf(“%d%d”, &a, &b) && (!(a==0 && b==0)))
2.EOF什么意思?
答:scanf 的返回值是读入变量的个数,如果没有读到数,返回值是-1,也就是EOF。2.引用gets的返回值。如果没有输入,其返回值为NULL,也就是0.
3.如何定义圆周率?
答:const double pi=4.0*atan(1.0); 包含预指令#include<cmath>
4.判断一个数是否为整数?
答:if(floor(y+0.5)==y)。Floor为取整函数,+0.5防止误差。
5.如何输出程序运行花费时间?
答: printf("Time used= %.2lf\n",(double)clock()/CLOCKS_PER_SEC); 加#include<ctime>
6.如何在cmd下面跑程序?
答:进入指定目录后直接输入exe名称就好了,如果想计算机输入,就echo (输入)| (程序名)
8.如何定义动态二维数组?
答:n行m列:int **p=new int*[n]
For(int i=0;i<n;i++)
{
P[i]=new int[m];
}
9.不知道字符串的长度时怎么实现循环?
答:for(int j=0;p[j];j++)//p[j]结束就跳出循环
10.实现字符转换成数字?
答:int x;char p[30];
x=p[i]-’0’;//字符转换成数字
11.int类型最大有多大?
答:int占32位的时候,最大可以赋值为:2147483647
12.如何定义define函数?
答:#define max(a,b) (a>b?a:b)
#define AR_size(a) sizeof(a)/sizeof(a[0])
13.标准快排?
答:qsort(p,n,sizeof(p[0]),cmp);
int cmp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;//升序
}
14.怎么传二维数组给函数?
答:void fun(int p[1010][1010]){}
Int main()
{
Int a[1010][1010];
fun (a);
}
15.sscanf(s,“%s%s”,dict[n].w,dic[n].d);
答:从字符串s中读入输入到后面两个;
16.__int64 最大能表示2^62,10^19左右。Int 最大能表示2^30,10^10。
17.位操作符实现2的n次方;
答:sum=1<<n;