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...

面试题 相关文章推荐
如何强制垃圾回收
Oct 06 面试题
你所知道的集合类都有哪些?主要方法?
Dec 31 面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 面试题
"序列点" 是什么
Jul 29 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
delegate与普通函数的区别
Jan 22 面试题
简述DNS进行域名解析的过程
Dec 02 面试题
开放系统互连参考模型
Jun 29 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
Jul 12 面试题
remote接口和home接口主要作用
May 15 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
如何通过jdbc调用存储过程
Apr 19 面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 #面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 #面试题
在C语言中实现抽象数据类型什么方法最好
Jun 26 #面试题
main 函数执行以前,还会执行什么代码
Apr 17 #面试题
You might like
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
PHP 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python求解平方根的方法
2015/03/11 Python
python轻松实现代码编码格式转换
2015/03/26 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
python多进程控制学习小结
2018/10/31 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
python IDLE添加行号显示教程
2020/04/25 Python
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
思想政治自我鉴定
2013/10/06 职场文书
秘书专业自荐信范文
2013/12/26 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
毕业典礼致辞
2015/07/29 职场文书
react中的DOM操作实现
2021/06/30 Javascript