1.求组合数: 求n个数(1....n)中k个数的组合....
如:combination(5,3)
要求输出:543,542,541,532,531,521,432,431,421,321,
/* 求组合数: 求n个数(1....n)中k个数的组合.... 如:combination(5,3) 要求输出:543,542,541,532,531,521,432,431,421,321, */ #include <stdio.h> #include <error.h> int pop(int *); int push(int ); void combination(int ,int);
int stack[3]={0}; int top = -1;
int main() { int n,m; n = 5; m = 3; combination(n,m); printf("\n"); }
void combination(int m,int n) { int temp = m; push(temp); while(1) { if(1==temp) { if(pop(&temp) && stack[0]==n) break; } else if(push(--temp)) { printf("%d%d%d\n",stack[0],stack[1],stack[2]); pop(&temp); } } }
int push(int i) { stack[++top]=i; if(top<2) return 0; else return 1; }
int pop(int *i) { *i = stack[top--]; if(top>=0) return 0; else return 1; }
|
2.、用指针的方法,将字符串“ABCD1234efgh”前后对调显示
#include <stdio.h> #include <string.h> int main() { char str[]="ABCD123efgh"; int length = strlen(str); char *p1= str; char *p2 = str+length -1; while(p1<p2) { char c = *p1; *p1 = *p2; *p2 = c; ++p1; --p2; } printf("str now is %s\n",str); return 1; }
|
3.给定字符串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 = malloc(256); if(strstr(longstring,shortstring)!=NULL) return shortstring; for(i=strlen(shortstring)-1;i>0;i--) { for(j=0;j<=strlen(shortstring)-i;j++) { memcpy(substring,&shortstring[j],i); 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); else comman = commanstring(str1,str2); printf("the longest comman string is:%s\n",comman); }
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具