C
文章平均质量分 54
景亍
这个作者很懒,什么都没留下…
展开
-
如何用 linux 实现命令行参数(可变参数实现)
仅用main函数的参数实现一个整数计算器#include #include #include #include void usage(const char *proc){ printf("Usage: %s [-a|s|m|d] data1 data2\n", proc);}int main(int argc, char *argv[]){ if (argc !=原创 2016-11-05 21:50:09 · 1633 阅读 · 1 评论 -
一元二次方程
#define _CRT_SECURE_NO_WARNINGS#include#include#define EXP 0.000000001int main(){ double a, b, c,x, x1, x2, disc; scanf("%lf%lf%lf", &a, &b, &c); disc = b*b - 4*a*c; if ((a > -EXP) && (a < EX原创 2016-09-23 15:53:00 · 491 阅读 · 1 评论 -
单身狗
#include#include#includevoid find_single_nums(int arr[], int sz, int *num1, int *num2){ assert(arr); assert(sz > 0); int tmp = arr[0]; int i = 1; for (i = 1; i < sz; i++) { tmp = tmp^arr[原创 2016-11-08 21:08:19 · 311 阅读 · 0 评论 -
杨氏矩阵
查找某个数#include#include#includeint find_target(int arr[][5], int rows, int target){ assert(arr); assert(rows > 0); int i = 0; int j = 4; while (i = 0) { if (arr[i][j] == target) { re原创 2016-11-08 21:41:13 · 340 阅读 · 0 评论 -
栈帧
原创 2016-11-18 17:26:17 · 736 阅读 · 0 评论 -
strcmp,strncmp函数
一.strcmp函数//字符串比较函数int strcmp(const char* str1,const char* str2);const char* str1 要比较的第一个字符串 const char* str2 要比较的第二个字符串库中实现的strcmp函数int main (){ char key[] = "apple"; char buff原创 2017-06-30 19:33:17 · 1199 阅读 · 0 评论 -
strlen函数
strlen函数//求字符串长度size_t strlen(const char* str)const char* str 要求长度的字符串库中实现的strlen函数int main (){ char szInput[256]; printf ("Enter a sentence: "); gets (szInput); printf ("The sen原创 2017-06-30 19:51:26 · 4165 阅读 · 0 评论 -
strstr函数
strstr函数 用于搜索一个字符串在另一个字符串中第一次出现,该函数返回字符串的其余部分(从找到位置开始),如果未找到,则返回0。const char* strstr(const char* str1,const char* str2);char* strstr(char* str1,const char* str2);库中实现的strstr#inclu原创 2017-07-03 13:09:31 · 557 阅读 · 0 评论 -
字符串左旋右旋--程序员面试宝典
一.左旋解1void left_move(char* msg, int len, int steps){ assert(msg); assert(len); steps = steps%len; int i = 0; while (steps--) { char temp = msg[0]; for (i = 1; i < len; ++i) { msg[i原创 2017-07-03 15:30:29 · 664 阅读 · 3 评论 -
递归函数mystrlen(char* buf,int N) 是用来实现统计字符串中第一个空字符前面的字符长度--程序员面试宝典
递归函数mystrlen(char* buf,int N) 是用来实现统计字符串中第一个空字符前面的字符长度,实现?递归函数要关注的问题:退出条件、参数有哪些?返回值是什么?局部变量、全局变量、何时输出?会不会导致栈溢出?#include #include #include using namespace std;int My_strlen(char* buf, int原创 2017-07-04 14:36:47 · 1434 阅读 · 1 评论 -
memcpy 函数
memcpy(内存拷贝函数)c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。void* memcpy(void* destination, const void* source, size_t num);void* dest 目标内存 const void* src 源内存原创 2017-07-05 08:54:20 · 37791 阅读 · 0 评论 -
memmove 函数
memmove 函数用于内存拷贝的函数,没有类型限制,但是memmove使用要考虑内存重叠问题void * memmove(void * destination, const void * source, size_t num);用于从src中拷贝num个任意类型的内容到dest,如果目标区域和源区域有重叠(并不是所有重叠情况都需要特殊处理),memmove能够保证源串在被覆盖之前原创 2017-07-08 23:34:26 · 5390 阅读 · 1 评论 -
define与const 比较
define与const#define RADIUS 100; const float RADIUS = 100;区别:1.编译器处理方式不同 define 宏是在预处理阶段展开 const 常量是在编译运行阶段使用2.类型和安全检查不同 define 宏没有类型,并且没有任何类型安全检查转载 2017-07-09 13:03:44 · 884 阅读 · 0 评论 -
宏函数
define 在C语言中,有很多作用,除了一些基本的概念,定义常量以外,比较有意义的就是它所定义的宏函数一.两个数相加#define ADD(a,b) ((a)+(b))int main(){ int i = 6; int p = 17; int q = ADD(i, p); printf("ADD:%d\n", q); system("pause"); return原创 2017-07-09 22:21:17 · 619 阅读 · 6 评论 -
剑指offer 4---替换空格
一.将一句话里的单词倒置 “student a am I” 改为 “I am a student”void reverse_string(char* start, char* end){ assert(start); assert(end); while (start < end) { *start = *start^*end; *end = *start^*end;原创 2017-07-03 16:36:15 · 980 阅读 · 3 评论 -
const volatile int i=10; i是什么属性?
const和volatile放在一起的意义在于:1.本程序段中不能对a作修改,任何修改都是非法的,或者至少是粗心,编译器应该报错,防止这种粗心;2.另一个程序段则完全有可能修改,因此编译器最好不要做太激进的优化。“const”含义是“请做为常量使用”,而并非“放心吧,那肯定是个常量”。“volatile”的含义是“请不要做没谱的优化,这个值可能变掉的”,而并非“你可以修改这转载 2017-07-27 15:43:02 · 2515 阅读 · 0 评论 -
大、小端机器判断
大、小端判断大端模式:所谓的大端模式,是指数据的高字节保存在内存的低地址处,而数据的低字节保存在内存的高地址处。例子:0000430: e684 6c4e 0100 1800 53ef 0100 0100 00000000440: b484 6c4e 004e ed00 0000 0000 0100 0000在大端模式下,前32位应该这样读: e6 84 6原创 2017-07-27 21:32:28 · 777 阅读 · 0 评论 -
strcpy,strncpy函数
一.strcpy函数char* strcpy(char* destination,const char* source)char* dest 目标字符串 char* src 源字符串库中实现的strcpy#include #include int main(){ char str1[] = "Sample string"; char str2[40]; c原创 2017-06-30 17:29:09 · 339 阅读 · 0 评论 -
1到 100 的所有整数中出现多少次数字 9
#includeint main(){ int i = 0; int sum = 0; for (i = 1; i <= 100; i++) { if (i % 10 == 9) { sum++; printf("%d ", i); } if (i / 10 == 9) { sum++; printf("%d ", i); }原创 2016-09-26 20:49:37 · 858 阅读 · 0 评论 -
水仙花数
#include#includeint main(){ int a = 0; int b = 0; int c = 0; int t = 0; for (a = 1; a <= 9; a++) //百位 for (b = 0; b <= 9; b++) //十位 for (c = 0; c <= 9; c++) //个位 { t = a*a*a + b原创 2016-09-26 20:06:55 · 610 阅读 · 0 评论 -
最多能喝多少瓶汽水?
#include#include#define MONEY 20int main(){ int count = MONEY; int bottle = MONEY; while (1) { if (bottle % 2 == 0) { bottle = bottle / 2; count = count + bottle; } else {原创 2016-10-21 15:51:23 · 555 阅读 · 0 评论 -
define 的深度剖析
1.预处理标识符的使用:#include#define __FILE__ //进行编译的源文件#define __LINE__ //文件当前的行号#define __DATE__ //文件被编译的日期#define __TIME__ //文件被编译的时间int main(){ printf("file:%s\n", __FILE__); printf(原创 2016-10-18 19:51:02 · 468 阅读 · 1 评论 -
扫雷小游戏
#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#define ROWS 11#define COLS 11#define COUNT 50#define EXIT 0#define PLAY 1void init_game(char mine[ROWS][COLS], char show[R原创 2016-10-11 22:00:48 · 287 阅读 · 0 评论 -
三子棋小游戏
#define _CRT_SECURE_NO_WARNINGS#pragma warning(disable:4996)#include#include#include#define ROWS 3#define COLS 3#define PLAY 1#define EXIT 0void init_board(char board[ROWS][COLS]) /原创 2016-10-11 21:57:42 · 223 阅读 · 0 评论 -
如何使用——折半查找
#includeint main(){ int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int key = 8; int left = 0; int right = sizeof(arr) / sizeof(arr[0]); while (left <= right) { int mid = left - ((left -原创 2016-10-05 17:58:43 · 411 阅读 · 0 评论 -
编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
#define _CRT_SECURE_NO_WARNINGS#includeint main(){ char ch; printf("请输入一个字符:\n"); scanf("%c", &ch); if (ch >= 'a' && ch <= 'z') { ch = ch - 32; printf("%c\n", ch); } else if (ch >= 'A'&&原创 2016-09-23 15:56:35 · 506 阅读 · 0 评论 -
排序
#define _CRT_SECURE_NO_WARNINGS#includeint main(){ printf("请输入三个数:"); int a = 0; int b = 0; int c = 0; scanf("%d%d%d", &a, &b, &c); if (a > b) { if (b > c) { printf("%d,%d,%d\n", a, b原创 2016-09-26 21:39:03 · 309 阅读 · 0 评论 -
交换数组内容
#includeint main(){ int arr1[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int arr2[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 100 }; int len = sizeof(arr1) / sizeof(arr1[0]); //数组长度 int i = 0; f原创 2016-09-26 22:16:43 · 525 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa+....的前n项之和,其中a是一个数字,例如:2+22+222+2222+22222+.....
#define _CRT_SECURE_NO_WARNINGS#includeint main(){ printf("请输入a,n:"); int a=0; int n=0; scanf("%d %d",&a,&n); int i = 0; int Sn = 0; int val = a; for (i = 0; i < n; i++) { Sn = Sn + val;原创 2016-09-26 22:18:54 · 1134 阅读 · 0 评论 -
如何获取一个数二进制序列中的偶数位和奇数位
#pragma warning(disable:4996)#define _CRT_SECURE_NO_WARNINGS#includeint main(){ int data = 0; printf("请输入一个数:"); scanf("%d", &data); int i = 0; int a[32]; for (i = 0; i < 32; i++) { a[i]原创 2016-09-26 22:34:35 · 604 阅读 · 0 评论 -
演示多个字符从两端移动,向中间汇聚。
#include#include#includeint main(){ char arr1[] = "welcome to xian."; char arr2[] = "################"; int left = 0; int right = strlen(arr1) - 1; while (left <= right) { Sleep(1000); //原创 2016-10-05 17:52:03 · 319 阅读 · 0 评论 -
模拟用户登录情景
#define _CRT_SECURE_NO_WARNINGS#include#includeint main(){ char password[10] = { 0 }; int i = 0; for (i = 0; i < 3; i++) { printf("enter a password:\n"); scanf("%s", password); if (strc原创 2016-10-05 17:53:10 · 344 阅读 · 0 评论 -
冒泡
#include#include#include#includevoid bubble_sort(int arr[], int sz){ assert(arr); assert(sz > 0); int i = 0; for (i = 0; i < sz - 1; i++) { int j = 0; for (j = 0; j < sz - i - 1; j++)原创 2016-11-08 20:26:18 · 270 阅读 · 0 评论 -
strcat,strncat函数
一.strcat函数//字符串连接函数char* strcat(char* destination,const char* source);char* dest 目标字符串 const char* src 源字符串库中实现的strcat函数int main (){ char str[80]; strcpy (str,"these "); strcat (st原创 2017-06-30 20:23:44 · 1022 阅读 · 0 评论