C语言面试题


Posted in 面试题 onMay 19, 2013
1、编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。
char * search(char *cpSource, char ch)
{
char *cpTemp=NULL, *cpDest=NULL;
int iTemp, iCount=0;
while(*cpSource)
{
if(*cpSource == ch)
{
iTemp = 0;
cpTemp = cpSource;
while(*cpSource == ch)
++iTemp, ++cpSource;
if(iTemp > iCount)
iCount = iTemp, cpDest = cpTemp;
if(!*cpSource)
break;
}
++cpSource;
}
return cpDest;
}
2、请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。
int search(char *cpSource, int n, char ch)
{
int i;
for(i=0; i return i;
}
一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?
将这个指针指向的next节点值copy到本节点,将next指向next->next,并随后删除原next指向的节点。

#include
void foo(int m, int n)
{
printf(“m=%d, n=%d\n”, m, n);
}
int main()
{
int b = 3;
foo(b+=3, ++b);
printf(“b=%d\n”, b);
return 0;
}
输出:m=7,n=4,b=7(VC6.0)
这种方式和编译器中得函数调用关系相关即先后入栈顺序。不过不同
编译器得处理不同。也是因为C标准中对这种方式说明为未定义,所以
各个编译器厂商都有自己得理解,所以最后产生得结果完全不同。
因为这样,所以遇见这种函数,我们首先要考虑我们得编译器会如何处理
这样得函数,其次看函数得调用方式,不同得调用方式,可能产生不同得
结果。最后是看编译器优化。

2.写一函数,实现删除字符串str1中含有的字符串str2.
第二个就是利用一个KMP匹配算法找到str2然后删除(用链表实现的话,便捷于数组)

/*雅虎笔试题(字符串操作)
给定字符串A和B,输出A和B中的最大公共子串。
比如A=”aocdfe” B=”pmcdfa” 则输出”cdf”
*/
//Author: azhen
#include
#include
#include
char *commanstring(char shortstring[], char longstring[])
{
int i, j;
char *substring=malloc(256);
if(strstr(longstring, shortstring)!=NULL) //如果……,那么返回shortstring
return shortstring;
for(i=strlen(shortstring)-1;i>0; i–) //否则,开始循环计算
{
for(j=0; j memcpy(substring, &shortstring[j], i);
substring[i]=\0;
if(strstr(longstring, substring)!=NULL)
return substring;
}
}
return NULL;
}

main()
{
char *str1=malloc(256);
char *str2=malloc(256);
char *comman=NULL;
gets(str1);
gets(str2);
if(strlen(str1)>strlen(str2)) //将短的字符串放前面
comman=commanstring(str2, str1);
else
comman=commanstring(str1, str2);
printf(“the longest comman string is: %s\n”, comman);
}

11.写一个函数比较两个字符串str1和str2的大小,若相等返回0,若str1大于
str2返回1,若str1小于str2返回-1
int strcmp ( const char * src,const char * dst)
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src – *(unsigned char *)dst) && *dst)
{
++src;
++dst;
}
if ( ret ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}

3,求1000!的未尾有几个0(用素数相乘的方法来做,如72=2*2*2*3*3);
求出1->1000里,能被5整除的数的个数n1,能被25整除的数的个数n2,能被125整除的数的个数n3,
能被625整除的数的个数n4.
1000!末尾的零的个数=n1+n2+n3+n4;
#include
#define NUM 1000
int find5(int num){
int ret=0;
while(num%5==0){
num/=5;
ret++;
}
return ret;
}
int main(){
int result=0;
int i;
for(i=5;i {
result+=find5(i);
}
printf(” the total zero number is %d\n”,result);
return 0;
}

Tags in this post...

面试题 相关文章推荐
大唐电信科技股份有限公司java工程师面试经历
Dec 09 面试题
C语言面试题
Oct 30 面试题
经典C++面试题一
Nov 06 面试题
下面关于"联合"的题目的输出是什么
Aug 06 面试题
创建索引时需要注意的事项
May 13 面试题
.NET面试题:什么是反射
Sep 30 面试题
.NET remoting的两种通道是什么
May 31 面试题
TCP/IP的分层模型
Oct 27 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
Oct 29 面试题
Linux如何命名文件--使用文件名时应注意
May 29 面试题
品恩科技软件测试面试题
Oct 26 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 #面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 #面试题
在C语言中实现抽象数据类型什么方法最好
Jun 26 #面试题
main 函数执行以前,还会执行什么代码
Apr 17 #面试题
You might like
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
python简单实现AES加密和解密
2019/03/28 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
python matlab库简单用法讲解
2020/12/31 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
销售高级职员求职信
2013/10/29 职场文书
大学毕业生通用自荐信范文
2013/10/31 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
工作检讨书500字
2014/10/19 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers