笔记目录
- 前言
- 一、上嵌_C面试100
- 1、二分查找
- 2、编写一个 C 函数,该函数给出一个字节中被置1 的位的个数
- 3、编写一个 C 函数,该函数将给定的一个字符串转换成整数。
- 4、请编写一个 C 函数,该函数将给定的一个整数转换成字符串。
- 5、实现strcmp函数 。
- 6、请编写一个 C 函数,该函数将一个字符串逆序。
- 7、请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。
- 8、请编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成的。
- 9、华为面试题:怎么判断链表中是否有环?
- 10、有一浮点型数组A,用C语言写一函数实现对浮点数组A进行降序排序,并输出结果,要求要以数组A作为函数的入口.(建议用冒泡排序法)
- 11、实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数
- 12、把一个链表反向 。
- 13、将二维数组行列元素互换,存到另一个数组中。
- 14、输入一行字符,统计其中有多少个单词。
- 15、写一个内存拷贝函数,不用任何库函数.就是前些时候本版讨论的那个问题。
- 16、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 17、取一个整数a从右端开始的4~7位。
- 18、打印出杨辉三角形(要求打印出10行如下图)。
- 19、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
- 20、809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
- 21、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换
- 22、计算字符串中子串出现的次数。
- 23、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
- 二、经典_C基础100
- 总结
前言
C语言 ; 笔记
一、上嵌_C面试100
1、二分查找
// 二分查找, 折半查找
# include <stdio.h>
int binary_search(int *arr, int k, int n)
{
int low = 0;
int high = n-1;
int mid;
while(low <= high)
{
mid = (high + low)/2; // 向下取整
if (arr[mid] > k)
high = mid - 1;
else if (arr[mid] < k)
low = mid +1;
else
return mid;
}
return mid;
}
int main(void)
{
int a[] = {1, 8, 57, 666, 3454};
int mid = binary_search(a, a[3], 5);
printf("元素 %d 在 a[%d] 位置\n",a[3], mid);
}
// 元素 666 在 a[3] 位置
2、编写一个 C 函数,该函数给出一个字节中被置1 的位的个数
3、编写一个 C 函数,该函数将给定的一个字符串转换成整数。
4、请编写一个 C 函数,该函数将给定的一个整数转换成字符串。
5、实现strcmp函数 。
6、请编写一个 C 函数,该函数将一个字符串逆序。
7、请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。
8、请编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成的。
9、华为面试题:怎么判断链表中是否有环?
10、有一浮点型数组A,用C语言写一函数实现对浮点数组A进行降序排序,并输出结果,要求要以数组A作为函数的入口.(建议用冒泡排序法)
11、实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数
12、把一个链表反向 。
13、将二维数组行列元素互换,存到另一个数组中。
14、输入一行字符,统计其中有多少个单词。
15、写一个内存拷贝函数,不用任何库函数.就是前些时候本版讨论的那个问题。
16、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
17、取一个整数a从右端开始的4~7位。
18、打印出杨辉三角形(要求打印出10行如下图)。
19、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
20、809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
21、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换
22、计算字符串中子串出现的次数。
23、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
二、经典_C基础100
1、三位数
2、求利润
3、平方数
4、第几天
5、数字排序
总结
23/05/25 - 未完结