`
zy3381
  • 浏览: 155473 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论
文章列表
Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/ 个人记账工具 OnMyMeans http://sourceforge.net/projects/onmymeans/develop Android电池监控 Android Battery Dog http://sourceforge.net/projects/andbatdog/ RSS阅读软件 Android RSS http://code.google.com/p/android-rss/ Android的PDF阅读器 DroidReader http://co ...
#include<stdio.h> int dis(char *s1, int begin1, int end1, char *s2, int begin2, int end2) { if(begin1>end1) { if(begin2>end2) { return 0; } else { return end2-begin2+1; } } if(begin2> ...

零幺串

我们称用1和0组成的串为“零幺串”,称只用1组成的串为“幺串”,称只用0组成的串为“零串”。试写一个函数(过程),使得它对任给零幺串S,将返回一个值N1和值N0,其中N1表示S中最长幺串的长度,N0表示S中最长零串的长度。例如,假设S是下面表示的零幺串,则在N1中返回4,在N0中返回3 S=00010111001110001111 基本思路是设置两个标志位来交替统计0和1的最长子串长度 #include<stdio.h> void main() { char str[100] = "00010111001110001111"; ...
没啥多说的。。。 #include<stdio.h> void main() { FILE *fp1, *fp2, *fp3; char filePath1[50],filePath2[50],filePath3[50]; char buf[250], ch; int i, j=0, k; printf("FilePath1:"); scanf("%s", filePath1); printf("FilePath2:"); scanf(& ...
有两个链表a和b,设结点中包含学号、姓名。从a链表中删去与b链表中有相同学号的那些结点。 #include<stdio.h> struct Node { int data; struct Node *next; }; //创建链表 struct Node *create(int n,int count) { int i; struct Node *head,*p1,*p2; head = p1 = p2 = (struct Node*)malloc(sizeof(struct Node)); head- ...
将一个链表按逆序排列,即将链头当链尾,链尾当链头 #include<stdio.h> struct Node { int data; struct Node *next; }; //创建链表 struct Node *create(int n,int count) { int i; struct Node *head,*p1,*p2; head = p1 = p2 = (struct Node*)malloc(sizeof(struct Node)); head->data = n; f ...
两个已经按照从小到大的排序的链表,合并成一个链表,仍然保持从小到大排序(貌似是归并排序里的基本操作) #include<stdio.h> struct Node { int data; struct Node *next; }; //创建链表 struct Node *create(int n,int count) { int i; struct Node *head,*p1,*p2; head = p1 = p2 = (struct Node*)malloc(sizeof(struct Node)); ...
在一个有序的链表上插入一个节点,使得插入节点后的链表仍然有序 #include<stdio.h> #define N 5 struct Node { int data; struct Node *next; }; //创建链表并初始化数据 struct Node *create() { int i; struct Node *head,*p1,*p2; head = p1 = p2 = (struct Node*)malloc(sizeof(struct Node)); head->data = ...
约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。 一堆猴子都有编号,编号是1,2,3 ...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 数组方式 #include<stdio.h> #define N 5 //总人数 #define M 3 //报数最大值(1-M) #define R 1 //留下的人数 void mai ...
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 基本思想:保持甲队的顺序不动,利用三层循环来穷举乙队所有可能的排列,并利用好甲乙两队的一对一关系和题目给定的限定条件进行过滤,即可得到结果。 #include<stdio.h> #define N 3 void main() { char s[N] = {'X', 'Y', 'Z'}; int i,j,k;//i,j,k分别用于确定A,B,C的对手 ...
#include<stdio.h> /* 将十六进制转换成十进制输出 */ void hex2dec(char *hex) { int result = 0; int temp; while(*hex != '\0') { if(*hex>='0' && *hex<='9') { temp = *hex - '0'; } else if(*hex>='A' && *hex< ...
#include<stdio.h> /* a[]:待查找数组 n:数组长度 num:待查找数字 return 找到的数字在数组中的下标,没找到返回-1 */ int binSearch(int a[], int n, int num) { int begin = 0; int end = n-1; int mid; while(begin<=end) { mid = (end - begin)/2 + begin; // 此处等价于mid = (end - ...
#include<stdio.h> #define M 3 #define N 2 #define S 3 void main() { int a[M][N] = {1,2,3,4,5,6}; int b[N][S] = {1,2,3,4,5,6}; int c[M][S]; // 答案为{9,12,15,19,26,33,29,40,51} int i,j,k; int sum = 0; for(k=0; k<M; k++) { for(i=0; i<S; i+ ...
#include<stdio.h> void main() { int a[3][3]= { 3,6,-1, 4,5,1, 8,7,3, }; int i,j,k; int mini,maxj,minIndexI,maxIndexJ; for(k=0; k<3; k++) { printf("找行最大:\n"); ...
如果两个字符串相等,返回0,如果不相等,返回它们不想等的字符的差值(标准版实现是返回1或者-1) #include<stdio.h> int strcmp1(char *str1, char *str2) { while(*str1 == *str2) { if(*str1 == '\0') { return 0; } str1++; str2++; } //返回差值 return (*str1 - *str2) ...
Global site tag (gtag.js) - Google Analytics