c/c++算法
美酒爱尔兰
不再维护,去了其他平台
展开
-
c语言 母串和子串的匹配问题
#include#includeint judge(char a[],char b[]){ int i=0,j=strlen(b),flag=0,m,k; while(a[i]!='\0') { if(a[i]==b[0]) { m=i; for(k=1;k<j;k++) { if(a[++m]!=b[k]) break; } if原创 2017-10-20 16:20:27 · 5331 阅读 · 0 评论 -
c语言 两字符串交叉合并
//这里给出两种方法#include#include#define M 20 void main() { char str1[M],str2[M],newstr[2*M]; int chang1,chang2,i,flag,j; int low,high; printf("请输入第一个字符串:\n"); gets(str1); printf("请输入第二个字符串:\n"原创 2017-10-20 16:18:50 · 10597 阅读 · 0 评论 -
c语言 利用分式前n项和求圆周率
#include #include void main (){ int s; float n,t,pi; s=1,pi=0,n=t=1.0; do { pi+=t; n+=2; s=-s; t=s/n; }while(fabs(t)>1e-5); pi*=4; printf("pi=%.9f\n",pi);}原创 2017-10-20 16:17:18 · 4749 阅读 · 0 评论 -
c语言 输入年月日,输出它是本年第几天
#include int main(){ int year,month,day;//年月日 int i; int sum = 0;//标记天数 int date[12]={31,29,31,30,31,30,31,31,30,31,30,31}; printf("输入年月日:"); scanf("%d %d %d",&year,&mo原创 2017-10-20 16:16:03 · 11390 阅读 · 2 评论 -
c语言 十进制转化为二进制
我这里提供了两种方法:#include int main(){ int a,i=1,c=0,j,k,sum=0; scanf("%d",&a); while(i!=0) { k=a%2; for(j=0;j<c;j++) k*=10; sum+=k; i=a/2; a=i; c++; } printf("sum=%d",sum); retur原创 2017-10-20 16:12:34 · 4761 阅读 · 0 评论 -
c语言 m位整数中的n个最大素数
#include#includeint main(){ int m,n; scanf("%d%d",&m,&n); int b[10000],k=0; int temp=1; for(int i=1;i<m;i++) temp*=10; for(i=temp+1;i<temp*10;i++) { for(int j=2;j<=sqrt(i);j++)原创 2017-10-20 16:09:24 · 5063 阅读 · 0 评论 -
c语言 递归算法解决汉诺塔问题
用递归解决汉诺塔问题原创 2017-10-20 15:56:16 · 6477 阅读 · 0 评论 -
c语言 字符串大小排序
#include #include int main(){void sort(char *name[],int n); void print(char *name[],int n);char *name[]={"Follow","Great","FORTRAN","Computer"};int n=4;sort(name,n);print(name原创 2017-10-20 16:29:12 · 8142 阅读 · 0 评论 -
c语言 判断两个字符串是否相等
#include #include int fun(char *a,char *b){int i,flag=0;for(i=0;a[i]!='\0'&&b[i]!='\0';)if(a[i]==b[i])i++;else{flag=0;break;}if(a[i]=='\0'&&b[i]=='\0')flag=1;return flag;原创 2017-10-20 16:30:48 · 12556 阅读 · 2 评论