
c面试笔试题
liushuibufuqin
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
将一句话里的单词倒置,标点符号不倒换。
题目: 将一句话里的单词导致,标点符号不倒换。例如一句话,"I come from Tianjin.",倒换后的结果为"Tianjin. from come I"。 Code(C): #include #include void change(char *s); reverse(char *s,int start,int end); void main() { char原创 2013-08-28 20:05:03 · 1993 阅读 · 0 评论 -
用递归判断数组是否为递增数组
#include #include int plus(int *a,int n); void main() { int a[] = {1,2,3,4,5,5,6,7,8},flag; flag = plus(a,9); if(flag == 1) printf("数组是递增数组\n"); else printf("数组不是递增数组\n"); }原创 2013-08-28 14:55:55 · 755 阅读 · 0 评论 -
将一整数逆序后放入一数组中(要求递归实现)
#include #include /* /////////////////////////////////////////*/ /*将一整数逆序后放入一数组中(要求递归实现)*/ /*//////////////////////////////////////////*/ void convert(int *result, int n); void main() {转载 2013-08-28 15:13:09 · 3289 阅读 · 0 评论 -
递归实现回文判断(如:abcdedbca就是回文)
#include #include /* /////////////////////////////////////////*/ /* 递归实现回文判断(如:abcdedbca就是回文) */ /*//////////////////////////////////////////*/ int iscircle(char *s,int n); void main() {转载 2013-08-28 15:30:54 · 910 阅读 · 0 评论 -
不开辟用于交换数据的临时空间,如何完成字符串的逆序
Code(C).1 #include #include void reverse(char *str) { int len = strlen(str),i = 0,j = len-1; while(i < j) { str[i] ^= str[j] ^= str[i] ^= str[j]; i++; j--; } } int main()原创 2013-08-28 21:32:06 · 718 阅读 · 0 评论 -
删除串中指定的字符
#include void delChar() { int i, j=0; for(i=0; str[i]; i++) if(str[i]!=c) str[j++]=str[i]; str[j] = '\0'; } int main(int argc, char* argv[]) { char str[原创 2013-08-28 10:42:42 · 601 阅读 · 0 评论 -
12个有趣的C语言面试题
1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答转载 2013-08-27 11:32:47 · 526 阅读 · 0 评论 -
试设计一个算法,将数组A(0..n-1)中的元素循环右移k位,并要求空间复杂度为O(1),时间复杂度为O(n)。
以1 2 3 4 5 6 7 8 9 10,向右移动2位为例 : 1、将1 2 3 4 5 6 7 8 反转 1 2 3 4 5 6 7 8 9 10 => 8 7 6 5 4 3 2 1 9 10 2、将9 10反转 8 7 6 5 4 3 2 1 9 10=> 8 7 6 5 4 3 2 1 10 9 3、将整个串反转 8 7 6 5 4 3 2 1 10 9=>9原创 2013-08-22 08:44:34 · 9721 阅读 · 4 评论 -
给你一个整型的数组,求第二大的数
题目: 给你一个整型的数组,求第二大的数。相同的不算。比如:88,88,88,88这样一个数组就没有第二大的。比如:88,88, 22,11 第二大的数就是22 Code(C): #include int sec_max(int a[],int n,int *secd_max); int main() { int a[100]; int n,i,secd_max =原创 2013-08-22 09:36:37 · 823 阅读 · 0 评论 -
对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,调整元素顺序,辅助空间为O(1)
题目: 对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,请用时间复杂度为O(n)的算法,把他们调整为0,1,2,3,....n-1的顺序,辅助空间为O(1),只允许用交换操作,一次只能交换两个元素位置 Code(C): #include #include void change(int *a,int len); void main()原创 2013-08-23 09:21:45 · 995 阅读 · 0 评论 -
字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其
题目: 字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其中有连续ABC子字符串的个数) Code(C) #include #include int CountABC(char *s); void main() { char s[100]; printf("请输入一个字符串\n"); gets(s); print原创 2013-08-23 11:10:06 · 692 阅读 · 0 评论 -
把一个字符串的大写字母放到字符串的后面 ,各个字符的相对位置不变,不能申请额外的空间
题目: 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。 Cede(C): #include #includevoid change(char* inMsisdn);void main() { char inMsisdn[100] = {'0'}; printf("输入一个字符串\n"); scanf("%s",inMsisdn)原创 2013-08-23 15:53:43 · 595 阅读 · 0 评论 -
字符串与数字的互转,atoi \itoa
题目: 字符串与数字的互转,atoi \itoa Code(C): atoi #include #include int StrToInt(char *s); void main() { char s[30]; int n; printf("请输入一个字符串\n"); gets(s); n = StrToInt(s); printf("字符串%s原创 2013-08-26 19:25:25 · 626 阅读 · 0 评论 -
用字符串实现大数的相加,没有考虑存在负数的情况
题目:用字符串实现大数的相加,没有考虑存在负数的情况 Code(C): #include #include void add(char *s1,char *s2,char *s); void main() { char s1[100]; char s2[100]; char s[100] = {'0'}; printf("请输入第一个数字\n");原创 2013-08-22 16:17:03 · 724 阅读 · 0 评论 -
一道填空题:移动字符串内容,,传入参数char *a和m
题目: 一道填空题:移动字符串内容,传入参数char *a和m,规则如下:将a中字符串的倒数m个字符移到字符串前面,其余依次像右移。例如:ABCDEFGHI,M=3,那么移到之后就是GHIABCDEF。注意不得修改原代码 code(C): #include #include void fun(char *w,int m); void main() { char w[30]原创 2013-08-27 09:17:59 · 1895 阅读 · 0 评论