C
一灯大师_Alex
擅长各种板子点灯
展开
-
C实例---打印菱形
代码:#include <stdio.h>#define ROW 11 //行数,必须为大于1的奇数int main (){ int i,j; for (i = 0; i <= ROW / 2; i ++) { for (j = 0; j <= ROW / 2 - (1 + i); j ++) printf(" ");原创 2017-01-03 21:48:17 · 304 阅读 · 0 评论 -
C实例---二维数组(指针实现)
代码:#include <stdio.h>#include <stdlib.h>#include <string.h>int main (){ int **pArray2; int index1, index2; pArray2 = (int **)malloc(sizeof(int *[3])); for (index1 = 0; index1 < 3; in原创 2017-02-09 19:28:08 · 460 阅读 · 0 评论 -
C实例---文件操作(打开文件)
代码:#include <stdio.h>#include <stdlib.h>#include <string.h>int main (){ FILE *fp1; char file1[30], ch; int file_number; printf("Please input file : "); scanf("%s",file1); pri原创 2017-02-09 20:51:29 · 328 阅读 · 0 评论 -
C实例---创建临时文件
代码:#include <stdio.h>#include <stdlib.h>#include <string.h>int main (){ FILE *temp; char c; /* FILE *tmpfile() */ if ( (temp = tmpfile()) != NULL ) fputs("\nHello World!\nHel原创 2017-02-09 21:00:21 · 728 阅读 · 0 评论 -
C实例---写入文件
代码:#include <stdio.h>#include <stdlib.h>#include <string.h>struct student_score{ char name[10]; int num; int Chinese; int Math; int English;} score[100];void Save(char *name, in原创 2017-02-10 19:45:56 · 1488 阅读 · 0 评论 -
C实例----十进制转二进制
代码:#include <stdio.h>#include <math.h>int main (){ unsigned int binary[16] = {0}; int i, num; printf("Please input a number, range 0 to 65535: "); scanf("%d", &num); for (i = 15;原创 2017-01-22 19:02:27 · 517 阅读 · 0 评论 -
C实例---二、八、十六进制转十进制
代码:#include <stdio.h>#include <string.h>/*将字符串里的小写字母转换成大些VC里面有实现,本例程自己实现*/char *strupr(char *s){ char *p; p = s; while (*s++ != '\0') { if (*s >= 97 && *s <= 102) {原创 2017-01-23 13:26:17 · 387 阅读 · 0 评论 -
C实例---Makefile工程管理
目录结构: Include—| |—mystr.h |—mylib.h User——| |—main.c |—mystr.c |—mylib.c Makefile 生成可以执行文件:test 运行环境:macOS shellMakefile:#$^: 所有不重复的依赖文件#$@: 目标文件的完整名称原创 2017-02-13 17:02:52 · 278 阅读 · 0 评论 -
C实例----IP地址转换(二进制转十进制,malloc实现)
特别说明:这里malloc没有用free回收是因为这边的环境是Xcode,加上free提示已经回收错误,故没有回收内存。 代码:#include <stdio.h>#include <stdlib.h>#include <string.h>/* 去除字符串里所有的空格 */char *DeleteBlank(char *src);int main (){ char *address原创 2017-01-23 21:34:23 · 944 阅读 · 0 评论 -
C实例----在字符串指定位置插入字符
代码:#include <stdio.h>#include <string.h>#include <stdlib.h>void Insert (char c, int pos, char *src){ int i, L; L = (int)strlen(src); if (L < pos) { src[L] = c; src[L +原创 2017-01-27 15:15:25 · 6452 阅读 · 0 评论 -
C实例---实现一个简单的正则表达式(删除重复的字符)
环境:Xcode V8.2.1 说明:运用到main函数的输入参数,在Xcode环境中做如下设置 代码:#include <stdio.h>#include <string.h>char *Delete(char *src){ char *p = src; int i,j,tmp; for (i = 0; src[i]; i ++) { t原创 2017-01-29 14:13:29 · 550 阅读 · 0 评论 -
C实例---括号匹配(栈实现)
代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#define STACKSIZE 100typedef char ElemType;typedef struct stack{ ElemType *base; ElemType *top; int原创 2017-02-09 16:00:54 · 419 阅读 · 0 评论 -
C实例---关键词查找、替换算法
运行环境:macOS shell 代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#define ALL 1#define SINGLE 0int str2num(char *str); //字符串转宏void Find(const char *src, char *argv, int Mod原创 2017-02-08 19:43:24 · 749 阅读 · 0 评论 -
打鱼晒网C实例
问题描述:三天打鱼两天晒网寓言故事的实例化分析:实质上是判断某年某月某日在当年的第多少天问题,问题的关键闰年的判断,以及输入年与日的合法性。代码:#include <stdio.h>#define OK 0#define ERROR 1#define NONLEAP 0#define LEAP 1int NonLeap[12] = {31,28,31,30,31,30,31,31,30,31原创 2016-12-25 23:31:37 · 656 阅读 · 0 评论 -
C实例---生成随机数组
问题描述:在写排序算法时,很希望得到一个大一点的排序数据,且是随机数据。如果直接输入的话很浪费时间,下面的这个小程序有效的解决了这样的一个问题。 代码:#include <stdio.h>#include <stdlib.h>#include <time.h>#define ARRAY 20 //生成多大的数组#define RANGE 100 //数组的元素大小从1到RAGNEi原创 2016-12-27 15:50:21 · 15933 阅读 · 2 评论 -
C实例---键盘输入字符串,统计空格
代码:#include <stdio.h>int Num(const char *s){ int count = 0; while (*s != '\0') if (*s ++ == ' ') count ++; return count;}int main (){ char s[200]; scanf("%[^\n]原创 2017-01-04 17:41:17 · 419 阅读 · 0 评论 -
C实例---插入排序(Shell)
问题描述:简单插入排序的时间复杂度是:n^2,shell排序是对其时间复杂度改进的一种算法,改善后的复杂度为:nlogn 分析:待排数据 99 42 57 74 46 85 32 78 40 33 74 88 65 27 38 69 51 32 59 24 对其进行一次划分: d = 20 / 2 = 10 :99 42 57 74 46 85 32 78 40 33 | 74 88原创 2016-12-27 17:56:56 · 296 阅读 · 0 评论 -
C实例---快速排序(冒泡排序)
问题描述:冒泡排序是每个程序猿最熟悉的排序算法了,其时间复杂度为:n^2。 分析:选择一个待排的头,第一个数据/最后一个数据,一次向后/前比较,比较到最后为一趟排序,总共排序n次,但每趟排序比前一趟少1排序数据。 代码:#include <stdio.h>void BubbleSort(int s[], int len){ int i,j,temp; for (i = 0; i原创 2016-12-27 20:31:33 · 316 阅读 · 0 评论 -
C实例——插入排序(简单插入)
算法描述:内排序的一种,分为简单插入排序、二分插入排序和SHELL排序,本例为第一种平云复杂度n^2。适用于待排数较少的情况。 分析:想想平时打扑克,每当拿起一张新牌,要比较手上牌的顺序选择一个较为合适的位置插入,本算法就跟那情况类似。选定待排序的第二个数开始和左边比较插入,如果比左边的小则交换(降序排列),依次比较到第一个数。这样一次迭代完成整个排序序列。 代码:#include <stdio原创 2016-12-27 11:18:38 · 644 阅读 · 0 评论 -
C实例----删除键盘输入字符串的所有空格
问题描述:编写一个函数,其参数为一个字符串,删除字符串中的所有空格并输出。 分析:遍历字符数组,当遇到空格时,将空格后面的所有字符从空格处重新写入,直到遇到‘\0’结束。 代码:#include <stdio.h>#include <string.h>char *DeleteBlank(char *src){ char *p = src; int i,j; for(i原创 2017-01-05 20:43:30 · 4105 阅读 · 2 评论 -
C实例---函数指针
代码:#include <stdio.h>#include <string.h>#include <stdlib.h>int min(int a, int b){ if (a < b) return a; else return b;}int main(){ int (*pmin)(); int a,b,m; pmin原创 2017-02-04 22:45:39 · 238 阅读 · 0 评论 -
C实例---进制转换(栈实现)
代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#define STACKSIZE 100typedef char ElemType;enum {a = 10, b,c,d,e,f};typedef struct stack{ ElemType *base;原创 2017-02-08 19:38:42 · 340 阅读 · 0 评论 -
C实例---显示当前时间
代码:#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){ time_t Time; struct tm *t; /* time_t time(time_t *t) */ Time = time(NULL); /* struct tm *localtime(const time_t原创 2017-02-03 16:11:34 · 337 阅读 · 0 评论