/*求组合数: 求n个数(1....n)中k个数的组合....如:combination(5,3)要求输出:543,542,541,532,531,521,432,431,421,321,
*///方法1
#include <stdio.h>
#include<malloc.h>
int *a,n,k;;
int counts=0;
void  comb(int m,int k)
{     int i,j;for (i=m;i>=k;i--){ a[k]=i;if (k>1)comb(i-1,k-1);else{   counts++;              for (j=a[0];j>0;j--)printf("%d ",a[j]);printf("\n");}}
}
void main()
{   printf("Please input n:");scanf("%d",&n);printf("Please input k:");scanf("%d",&k);a=(int*)malloc(sizeof(int)*(k+1));a[0]=k;comb(n,k);printf("All kinds is:%d\n",counts);
}//方法2
#include<stdio.h>
#include<malloc.h>
int n,k,*a;
void comb(int N,int K)
{int i;int cnt=k-K;if(cnt<k){for(i=N;i>=k-cnt;i--){a[cnt]=i;comb(i-1,K-1);}}else{for(i=0;i<k;i++)printf("%d ",a[i]);printf("\n");}
}
void main()
{printf("Please input n:");scanf("%d",&n);printf("Please input k:");scanf("%d",&k);a=(int*)malloc(sizeof(int)*k);comb(n,k);
}
/*
用指针的方法,将字符串“ABCD1234efgh”前后对调显示
*/
#include <stdio.h>
#include <string>
void main()
{char str[]="ABCD1234efgh";printf("原字符串:%s\r\n",str);char temp;int length;length=strlen(str);char *p1,*p2;p1=str;p2=(str+length-1);int cnt=length/2;while(cnt--){temp=*p1;*p1=*p2;*p2=temp;p1++;p2--;}printf("倒置的字符串:%s\r\n",str);
}
/*
给定字符串A和B,输出A和B中的最大公共子串。比如A="aocdfe" B="pmcdfa" 则输出"cdf"
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>char *commanstring(char shortstring[],char longstring[])
{int i,j;char *substring =(char*) malloc(256);if(strstr(longstring,shortstring)!=NULL)//shortstring完全在longstring中出现//strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。//char *strstr(char *str1, const char *str2);//str1被查找目标 str2: 要查找对象<span style="white-space:pre">  </span>return shortstring;for(i=strlen(shortstring)-1;i>0;i--)//i复制的字符个数{for(j=0;j<=strlen(shortstring)-i;j++)//j控制从shortstring第几位开始复制{memcpy(substring,&shortstring[j],i);//memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。//void *memcpy(void *dest, const void *src, size_t n);substring[i]='\0';if(strstr(longstring,substring)!=NULL)return substring;}}return NULL;
}void main(void)
{char *str1 = "aocdfe";char *str2 = "pmcdfa";char *comman = NULL;if(strlen(str1)>strlen(str2))comman= commanstring(str2,str1);elsecomman = commanstring(str1,str2);printf("the longest comman string is:%s\n",comman);
}

面试的算法1(C语言)(整理)(组合数 字符串倒置 最大公共串)相关推荐

  1. c语言编程 遍历字符串,请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789......

    导航:网站首页 > 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789... 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如 ...

  2. c语言回文字符串原理,回文串(c语言)注意字符串比较和字符比较的区别

    #include #include #define LEN 224 void judge(char *); int main(void) { char ch[LEN]; gets(ch); judge ...

  3. 经典c语言基础代码大全,10个经典的C语言面试基础算法及代码

    <10个经典的C语言面试基础算法及代码>由会员分享,可在线阅读,更多相关<10个经典的C语言面试基础算法及代码(24页珍藏版)>请在人人文库网上搜索. 1.10个经典的C语言面 ...

  4. c语言从4个整数中找最小的数,编程之法:面试和算法心得(寻找最小的k个数)...

    内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 输入n个整数,输出其中最小的k个. 分析与解法 解法一 要求一个序列中最小的k个数,按照惯有的思维方式,则是先对这个 ...

  5. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦

    (七月在线:https://www.julyedu.com/,面试 & 算法 & 机器学习在线课程) 作者:July--结构之法算法之道blog之博主. 时间:2010年10月-201 ...

  6. java runtime ssh 后执行指令_酒后系列:被某厂面试官吊打后酒后整理的JVM干货

    为什么要写这么一篇文章呢,因为很基础,很基础,很基础,重要的事情说三遍!!!哼,还不是因为面试的时候经常会被问到,哈哈哈哈哈 ,为此我静下心来,狠心写下了这一篇文章,好去对付一般的面试官,也可以帮助你 ...

  7. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结

    程序员面试.算法研究.编程艺术.红黑树.机器学习5大经典原创系列集锦与总结 (七月在线:https://www.julyedu.com/,面试 & 算法 & 机器学习在线课程) 作者: ...

  8. (转载)程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦

    作者:July–结构之法算法之道blog之博主. 时间:2010年10月-2018年5月,一直在不断更新中.. 出处:http://blog.csdn.net/v_JULY_v . 说明:本博客中部分 ...

  9. 神级:程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结

    https://blog.csdn.net/v_JULY_v/article/details/6543438 https://blog.csdn.net/v_JULY_v/article/detail ...

最新文章

  1. hdu2204 Eddy's爱好 打表+容斥原理
  2. 在Windows环境下配置QT Creator 读取NC文件(NetCDP,C++接口)
  3. openstack 使用集锦
  4. java位运算实例详解——(amp;)、(|)、(~)、(^)、(lt;lt;)、(gt;gt;)
  5. Android Touch系统简介(二):实例详解onInterceptTouchEvent与onT
  6. 大数据分析需备哪些技能
  7. VC利用GDI+显示透明的PNG图片
  8. VS+QT快速入门教程
  9. 网络编程资源大集合(包含前端、java、linux、安卓、github开源项目、开发工具等)
  10. imageai--自动机器学习初体验
  11. FloydFest 19 大赛冠军歌曲 Roll With Me,使用Peluso话筒录制
  12. android 华为部分手机剪裁图片模糊问题
  13. proteus元件大全 仿真元件 电子元器件英文缩写
  14. 网站接入支付宝支付之扫码支付
  15. 电脑计算机属性打不开闪退,软件打不开闪退怎么办
  16. 科学计算机里怎样输入分数,怎样在卡西欧计算器上输入分数
  17. vba学习笔记 while wend 的使用
  18. 如何快速通过微软PL-100考试
  19. 计算机常用英语词汇表(硬件类)
  20. 手机竖屏和横屏旋转解决

热门文章

  1. poj 2987 Firing【最大权闭合子图+玄学计数 || BFS】
  2. 2010 求后序遍历
  3. HtmlParser中的各种Filter(1)
  4. Coursera台大机器学习技法课程笔记04-Soft-Margin Support Vector Machine
  5. 美工自我培养的几点经验总结
  6. 利用OpenCV的SimpleBlobDetector检测图像的奇异区域(斑点)
  7. leetcode算法题--二进制求和
  8. gdb工作原理(一)
  9. linux I/O--五种I/O模型(一)
  10. leetcode算法题--两数相加 II