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

面试题 相关文章推荐
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
Aug 15 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
Feb 29 面试题
利达恒信公司.NET笔试题面试题
Mar 05 面试题
私有程序集与共享程序集有什么区别
Apr 05 面试题
如何利用cmp命令比较文件
Apr 11 面试题
do you have any Best Practice for testing
Jun 04 面试题
某公司部分笔试题
Nov 05 面试题
EJB发布WEB服务一般步骤
Oct 31 面试题
Java中的类包括什么内容?设计时要注意哪些方面
May 23 面试题
Hibernate持久层技术
Dec 16 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
什么是ESB?请介绍一下ESB?
May 27 面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 #面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 #面试题
在C语言中实现抽象数据类型什么方法最好
Jun 26 #面试题
main 函数执行以前,还会执行什么代码
Apr 17 #面试题
You might like
测试php函数的方法
2013/11/13 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
React key值的作用和使用详解
2018/08/23 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
24式加速你的Python(小结)
2019/06/13 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
django迁移数据库错误问题解决
2019/07/29 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
python中@contextmanager实例用法
2021/02/07 Python
大学教师年终总结的自我评价
2013/10/29 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
担保书范文
2015/01/20 职场文书
未中标通知书
2015/04/17 职场文书
2015年班组工作总结
2015/04/20 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
php+laravel 扫码二维码签到功能
2021/05/15 PHP