C
文章平均质量分 61
期待一片自己的蓝天
在加利福尼亚州门洛帕克的Facebook园区入口可以看到一个标牌,正面是经典的竖起大拇指点赞的图案,然而在这个标牌的背面,掩映在树荫里的依然是园区昔日所有者2009年被甲骨文公司Oracle吞并的Sun电子计算机公司Sun Microsystems Inc.的名字。Facebook之所以在牌子上留下Sun电子计算机公司的名字就是为了警醒自己,如果企业停止创新的步伐,就会沦落至如此下场。
展开
-
gcc __attribute__((section("section_name"))) 使用方法
gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。__attribute__的section子项使用方式为:__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"的段。看以下程序片段:#include #include原创 2017-03-02 09:52:52 · 18954 阅读 · 0 评论 -
模拟输入密码时显示‘*’,然后将密码输出
模拟密码输入原创 2014-06-02 16:37:40 · 1454 阅读 · 0 评论 -
十六进制数转十进制数
#include#define MAX 1000int main(){ int htoi(char s[]); int c,i,flag,flag1; char t[MAX]; i=0; flag=0; flag1=1; printf("input a HEX number: "); while((c=getchar())!='原创 2014-04-12 20:15:56 · 922 阅读 · 0 评论 -
折半查找
#include#define N 15void sort(int *,int);void swap(int *,int *);int search(int *,int,int);int main(){ int i,num[N]; for(i=0;i<N;i++) scanf("%d",num+i); sort(num,N);/*首先先将数列排原创 2014-04-12 11:51:43 · 675 阅读 · 0 评论 -
魔方阵
所谓魔方阵,是一个n维矩阵,n为奇数,它的每一行、每一列和对角线之和均相等。原创 2014-04-11 17:56:44 · 1189 阅读 · 0 评论 -
矩阵的鞍点
矩阵的鞍点:矩阵的鞍点是指矩阵中的原创 2014-04-11 21:53:48 · 8369 阅读 · 1 评论 -
打印杨辉三角
打印杨辉三角有很多种做法,通常有两种:一种是事先根据公式:a[i][j]=a[i-1][j-1]+a[i-1][j]计算出所有的结果,然后再在循环结构中打印出来,这种比较简单,效率也高,就是空间复杂度太过于高了,一般打印N层的杨辉三角,就需要开辟一个N*N的矩阵。另外一种就是在打印杨辉三角的过程中,动态的计算出结果,并打印出来,这样,只需要一个大小为N的数组即可。原创 2014-04-11 17:17:06 · 1176 阅读 · 0 评论 -
用筛选法求100以内的素数问题
#include#includeint main(){ int i,j,n,a[101]; for(i=1;i<=100;i++)/*a[0]不用,只用a[1]到a[100]*/ a[i]=i; a[1]=0;/*先挖掉a[1]*/ for(i=2;i<sqrt(100);i++) if(a[i]!=0)原创 2014-04-11 10:16:33 · 4662 阅读 · 5 评论 -
将学生信息保存到文件中,并读出文件内容
有5个学生,每个学生有3们课程的成绩,从键盘输入学生数据(包括学号、姓名就、)原创 2014-04-10 10:30:08 · 17572 阅读 · 0 评论 -
在使用C语言指针时的的一个不容易发现的陷阱
一个节点的next域是固定的,当修改了节点的next域后,不管有多少指针指向这个节点,那么,这些指针的next节点均为修改后的节点,所以,以后要想删除某个节点后的节点时,必须要做到代码段1中的处理方法,先找一个指针指向下一个节点,这样,不管怎么修改那个节点的next域,都不会对他的下一个节点产生影响。原创 2014-04-08 22:29:16 · 1367 阅读 · 0 评论 -
C语言新建文件,向文件中输入内容并读出文件内容
c语言中的文件读写函数:一、读写一个字符函数--函数fgetc(fp)和fputc(ch,fp)二、读写一个字符串函数--fgets(char *str,int n,FILE *fp)和fputs(char *str,FILE *fp)三、文件的格式化读写函数--fprintf(文件指针,格式化字符串,输出列表)和fscanf(文件指针,格式化字符串,输入列表)四、用二进制方式向文件读写一组数据--fread(buffer,size,count,fp)和fwrite(buffer,size,coun原创 2014-03-29 16:24:54 · 13916 阅读 · 3 评论 -
排序算法的分类
排序算法的分类如下:* 1.插入排序(直接插入排序、折半插入排序、希尔排序);* 2.交换排序(冒泡泡排序、快速排序);* 3.选择排序(直接选择排序、堆排序);* 4.归并排序;* 5.、基数排序。原创 2014-04-09 17:46:41 · 713 阅读 · 0 评论 -
根据用户的选择输出不同的结果--函数指针的使用
#include int min(int a,int b);int max(int a,int b);int main(){ int a,b,n,k=2,flag=1;//a,b是用户输入的数字,n是用户的选择,k是用来让用户多次使用程序的,flag是用来判断用户的选择正确与否 int (*p)(int a,int b); while(k--) {原创 2014-03-27 20:37:47 · 997 阅读 · 0 评论 -
指针实现—三个数交换的排序
#include int main(){ void exchange(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3; scanf("%d %d %d",&a,&b,&c); p1=&a;p2=&b;p3=&c; exchange(p1,p2,p3); printf("%d,%d,%d",a,b,原创 2014-03-26 22:35:00 · 2805 阅读 · 1 评论 -
#ifdef #ifndef #endif #undef 的使用
#include "stdio.h"#include "conio.h"#define MAX#define MAXIMUM(x,y) (x>y)?x:y#define MINIMUM(x,y) (x>y)?y:xvoid main(){int a=10,b=20;#ifdef MAXprintf("\40: The larger one is %d\n",MAXIMUM(a,b原创 2014-05-21 21:44:50 · 1878 阅读 · 0 评论 -
去除数组中重复的元素
去除数组中重复的元素。原创 2014-04-22 13:46:49 · 1792 阅读 · 0 评论 -
C语言生成随机数函数的用法
#include#include#includeint main(){ int count = 10; srand(time(NULL)); while (count--){ printf("%d ",rand()%10); } printf("\n"); return 0;}原创 2014-06-05 08:53:37 · 1094 阅读 · 0 评论 -
c语言可变参数的两种用法
#include #include using namespace std;int sum(char * msg, ...);int my_vsprintf(char *buf, char *format, ...);int main(){ sum("The sum of the list is:", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0);原创 2015-11-28 13:55:58 · 473 阅读 · 0 评论 -
回调函数的作用
对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。为什么要使用回调函数呢?我们先看一个小例子: 1 Node * Search_List (Node * node,原创 2015-05-20 16:58:22 · 870 阅读 · 0 评论 -
我的学生信息管理系统总结
我的学生信息管理系统总结原创 2014-06-14 23:54:36 · 3981 阅读 · 0 评论 -
指针和指针运算符一起时的运算规则(比如*p++和*++p的区别)
指针和指针运算符一起时的运算规则(比如*p++和*++p的区别)原创 2014-09-27 15:20:17 · 4249 阅读 · 1 评论 -
判断单链表是否存在环,如果存在则寻找环的入口点,用快慢指针法
判断单链表是否存在环,如果存在则寻找环的入口点,用快慢指针法原创 2014-09-23 21:16:20 · 1367 阅读 · 0 评论 -
两种方法(递归,非递归)实现单链表的逆转
用普通方法和递归的方法实现单链表的逆置原创 2014-09-23 20:36:35 · 3759 阅读 · 0 评论 -
将一个正整数分解质因数
将一个整数因式分解。原创 2014-05-21 16:02:06 · 1046 阅读 · 0 评论 -
求一个数的二进制数中所含1的个数的代码实现
求一个数的二进制数中所含1的个数的代码实现原创 2014-06-03 14:42:04 · 1121 阅读 · 0 评论 -
求一个整数的二进制中1的个数
求一个整数的二进制中1的个数 收藏题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次转载 2014-06-03 14:05:45 · 1056 阅读 · 0 评论 -
c语言拷贝文件程序
c语言文件操作实现拷贝一个文件。原创 2014-06-13 10:11:17 · 2381 阅读 · 1 评论 -
C语言的比较库函数--qsort
c语言中的库函数:qsort(int *base,int num,int width,int (*compare)(int *void,int *void));其中base是排序的一个集合数组,num是这个数组元素的个数,width是一个元素的大小,comp是一个比较函数。原创 2014-06-09 10:35:58 · 1783 阅读 · 0 评论 -
读者-写着问题中写者优先的实现
读者一写者问题是一个用信号量实现的经典进程同步问题。在系统中,一个数据集( 如文件或记录) 被几个并发进程共享,这些线程分两类,一部分只要求进行复操作,称之为“读者”;另一类要求写或修改操作,我们称之为“写者“。一般而言,对一个数据集,为了保证数据的完整性、正确性,允许多个读者进程同时访问,但是不允许一个写者进程同其它任何一个进程(读者或者写者)同时访问,而这类问题就称之为”读者-写者“问原创 2014-07-01 01:27:51 · 1801 阅读 · 0 评论 -
C++可以用的计算程序运行时间的方法
C/C++可以用的计算程序运行时间的方法原创 2014-05-04 20:44:59 · 1124 阅读 · 1 评论 -
求四个数中最大的
这段代码最大的亮点是:精炼。以后的代码要以此为鉴。#include int main(){ int max4(int a,int b,int c,int d); int a,b,c,d; scanf("%d %d %d %d",&a,&b,&c,&d); printf("The max num is : %d\n",max4(a,b,c,d));原创 2014-03-26 10:16:55 · 758 阅读 · 0 评论 -
删除字符串中的指定字符
#include #include "file1.h"int main(){ void enter_string(char str[]); void delete_string(char str[],char ch); void print_string(char str[]); char c,str[80]; enter_string(str);原创 2014-03-26 17:13:22 · 1018 阅读 · 0 评论 -
冒泡排序法
#include int main(){ int a[10]; int i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]>a[j+1]) {原创 2014-03-25 21:38:11 · 664 阅读 · 0 评论 -
交换类排序-快速排序
#include#define N 20int main(){ void QickSort(int *,int ,int); int i,a[N]; printf("Enter twenty numbers:\n"); for(i=0;i<N;i++) scanf("%d",a+i); QickSort(a,0,N-1); fo原创 2014-04-16 17:57:06 · 629 阅读 · 0 评论 -
输入一个数并统计数中各个数字出现的频率
#includeint main(){ void seperate(int a[],long n,int *m);//数字分离函数声明 void frequency(int a[],int n);//统计频率函数声明 long i;//用户输入的数 int arr[20],n=0; printf("Please input a number: ");原创 2014-03-28 22:19:21 · 2772 阅读 · 0 评论 -
统计字符串中连续数字字符组成的整数的个数
输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一个数组中。统计共有多少个整数,并输出这些数。原创 2014-04-14 23:14:03 · 3511 阅读 · 0 评论 -
用fputc和fgetc操作文件的输入输出-复制文件
这段程序,先从控制台读取一段字符串到第一个文件中,然后将第一个文件的内容复制到第二个文件中。#include#include#includeint main(){ FILE *in,*out; char filename[30]="nyist.txt",filename_copy[30]="zhengda.txt",str[50]; printf("enter原创 2014-03-30 17:14:33 · 1936 阅读 · 0 评论 -
在windows下使用vim和gcc开发c程序
相信只要接触过linux的人肯定用过vim这个功能超强大的文本编辑器,只要在linux写过C语言的绝对使用了gcc的,我接触linux没多长时间,但是觉得这两个东西真的是相当的好,如果写一个简单的C语言程序每次都要打开虚拟机是不是很麻烦呢?可以在windows下使用vim和gcc来开发C语言程序吗?还真的可以。 1. 准备vim这个编辑器。在windows下有一个很优秀的gVim文转载 2014-04-14 19:38:58 · 1314 阅读 · 0 评论 -
用rewind函数使位置指针指向文件头
本段代码实现了将一个文件内容复制到另外一个文件中的功能#include#include#includeint main(){ FILE *fp1,*fp2; if((fp1=fopen("file1.c","r"))==NULL) { printf("cannot open file1\n"); exit(0); }原创 2014-03-30 18:54:47 · 2040 阅读 · 0 评论 -
用fputs和fgets操作文件-将字符串存储到文件中并从文件中读出
#include#include#includeint main(){ FILE *fp; char str[3][10],temp[10]; int i,j,k,n=3; printf("enter strings:\n"); for(i=0;i<n;i++)/*将输入的字符串存入字符数组中*/ gets(str[i]);原创 2014-03-30 15:31:22 · 2260 阅读 · 0 评论