外企C语言笔试题如下:
1、作为开发团队的一员,你需要实现一些库函数提供给其他人使用。
假设你实现的一个函数原型如下:
int DoSomeThing(char* pParam)
{
...
}
2、下面的代码有什么问题?
char *_strdup( const char *strSource )
{
static char str[MAX_STR_LEN];
strcpy(str, strSource);
return str;
}
3、实现一个函数:取出一个全路径文件名中的全路径。
/* [in] pszFullPath 全路径文件名
[out] pszPathName 接收全路径的缓冲区
[out] nCount 缓冲区大小
*/
int ExtractFilePath(char* pszFullPath, char* pszPathName, int nCount)
{
...
}
某IT外企面试题:二分法求方程!看看大家的C++功底!!
//f(x)=RMAX-R+(R-r)*double (cos(0.5*x))+double (sqrt(r*r-(R-r)*(R-r)* sin(0.500*x)* sin(0.500*x)))
请用二分法或其他方法求出解x.要求精度esp=1e-5
其中RMAX,R,r从键盘输入。
#i nclude
#i nclude
void get(double RMAX,double R,double r,double x,double y)
{
double m,n,c,p;
double esp=1e-5;
do
{
m=RMAX-R+(R-r)*double (cos(0.5*x))+double (sqrt(r*r-(R-r)*(R-r)* sin(0.500*x)* sin(0.500*x)));
n=RMAX-R+(R-r)*double (cos(0.500*y))+double (sqrt(r*r-(R-r)*(R-r)* sin(0.500*y)*sin(0.500*y)));
c=0.500*(x+y);
p=RMAX-R+(R-r)*double (cos(0.500*c))+double (sqrt(r*r-(R-r)*(R-r)* sin(0.500*c)*sin(0.500*c)));
if(fabs(p) break;
else if(m*p<0)
{
x=x;
y=c;
}
else if (m*p>0)
{
y=y;
x=c;
}
}while(fabs(y-x)
cout<<\"The value of angle:tt\"<<(x+y)*0.5< cout<
}
void main()
{
double RMAX,R,r,x,y;
cout<<\"input RMAX,R,r,x,y:\"<
cin>>RMAX;
cin>>R;
cin>>r;
cin>>x;
cin>>y;
get(RMAX,R,r,x,y);
}
我要赚赏金打赏帖 |
|
|---|---|
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
| TCS3472S传感器及其色彩检测被打赏¥19元 | |
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
我要赚赏金
