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

面试题 相关文章推荐
Tomcat Mysql datasource数据源配置
Dec 28 面试题
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
如何让Java程序执行效率更高
Jun 25 面试题
函数指针的定义是什么
Aug 14 面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 面试题
这段代码难道不该打印出56吗
Feb 27 面试题
如何查找和删除数据库中的重复数据
Nov 05 面试题
DataList 能否分页,请问如何实现?
May 03 面试题
西安启天科技有限公司网络工程师面试题笔试题
Jun 12 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
C#中类(class)与结构(struct)的异同
Nov 03 面试题
若干个Java基础面试题
May 19 面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 #面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 #面试题
在C语言中实现抽象数据类型什么方法最好
Jun 26 #面试题
main 函数执行以前,还会执行什么代码
Apr 17 #面试题
You might like
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
微信支付开发交易通知实例
2016/07/12 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
Python编程实现的简单Web服务器示例
2017/06/22 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
Java模拟试题
2014/11/10 面试题
师范生自荐信
2013/10/27 职场文书
优秀经理事迹材料
2014/02/01 职场文书
创业资金计划书
2014/02/06 职场文书
党员公开承诺书内容
2014/05/20 职场文书
实习护士自荐信
2014/06/21 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
开场白怎么写
2015/06/01 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
婚礼家长致辞
2015/07/27 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python