您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > C语言_经典算法_C语言代码大全
/*韩信点兵*/#includestdio.hvoidmain(){inti=900;for(i=900;i=1100;i=i++)if(i%3==1&&i%5==1&&i%7==1){printf(满足条件的值为:%d\n,i);break;}}/*两个日期之间的天数*/#includestdio.hvoidmain(){inti,y,m1,m2,d1,d2;intd=0;printf(请输入年月日:\n如2010年1月3日和3月4日输入格式为20101334\n);scanf(%d%d%d%d%d,&y,&m1,&d1,&m2,&d2);y=(y%4==0&&y%100!=0||y%400==0)?1:0;for(i=m1;im2;i++)switch(i){case1:case3:case5:case7:case8:case10:case12:d+=31;break;case4:case6:case9:case11:d+=30;break;case2:d=d+28+y;break;}printf(%d\n,d+d2-d1);}/*N乘方表*/#includestdio.hvoidmain(){intn,i,p=1;printf(请输入n的值,按回车键确定!\n);scanf(%d,&n);do{i=p*p;printf(%.0d的乘方为%.0d\n,p,i);p=p++;}while(p=n);}/*判断某一日期是当年的第几天*/#includestdio.hvoidmain(){intn,year,month,day,month_day_sum=0,sum,month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf(请输入\年月日\\n);scanf(%d%d%d,&year,&month,&day);if(year%100!=0&&year%4==0||year%400==0)month_day[2]=29;if(day31||day1||month12||month1)printf(错误);else{for(n=1;nmonth;n++)month_day_sum+=month_day[n];sum=month_day_sum+day;printf(是%d年的第%d天\n,year,sum);}}/*n的阶乘表*/#includestdio.hvoidmain(){floatn,i=1,p=1;printf(请输入n的值:\n);scanf(%f,&n);do{i=i*p;if(p=15)printf(%.2f的阶乘为%.2f\n,p,i);elseprintf(%.2f的阶乘为%4.5e\n,p,i);p=p++;}while(p=n);}/*求一元二次方程的解*/#includestdio.h#includemath.hvoidmain(){intm;do{m=1;floata,b,c,delta,x1,x2,realpt,imagpt;printf(\n\n本程序可求一元二次方程的解。\n);printf(请输入一元二次方程的三个参数。\n);scanf(%f%f%f,&a,&b,&c);if(a!=0){delta=b*b-4*a*c;if(delta0){x1=(-b+sqrt(delta)/2*a);x2=(+b+sqrt(delta)/2*a);printf(方程的两个不等实根为:x1=%8.4fx2=%8.4f\n,x1,x2);}elseif(delta==0){x1=x2=-b/(2*b);printf(方程的两个相等实根为:x1=x2=%8.4f\n,x1);}else{delta=-delta;realpt=-b/(2*a);imagpt=sqrt(delta);printf(方程的两个共轭根为:\n);printf(x1=%8.4f+%8.4fi\n,realpt,imagpt);printf(x2=%8.4f-%8.4fi\n,realpt,imagpt);}}elseprintf(这不是一元二次方程!\n);}while(m==1);}/*求三角形的面积*/#includestdio.h#includemath.hvoidmain(){floata,b,c,p,s;printf(\n请输入三角形的三边:\n);scanf(%f%f%f,&a,&b,&c);if(a+b=c||b+c=a||a+c=b)printf(输入有误,请重新输入!\n);else{p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(三角形的面积s=%.3f\n,s);}}/*把百分制成绩转换为ABC等级制*/#includestdio.hvoidmain(){intn,m;printf(请输入分数:\n);scanf(%d,&m);switch(m/10){case10:case9:printf(A\n);break;case8:printf(B\n);break;case7:printf(C\n);break;case6:printf(及格\n);break;case5:case4:case3:case2:case1:case0:printf(不及格!\n);}}/*其两个自然数的最大公约数和最小公倍数*/#includestdio.hvoidmain(){intm,n,j,k,r;do{printf(请按输入数字m,n:\n);scanf(%d%d,&m,&n);}while(m0||n0);r=m*n;while(m%n!=0){j=m%n;m=n;n=j;k=r/n;}printf(最大公约数是:%d\n,n);printf(最小公倍数是:%d\n,k);}/*求输入n个数的平均值*/#includestdio.hvoidmain(){inti=1,n,s=0;floatave,m;printf(请输入一个整数n:\n);scanf(%d,&n);while(i=n){printf(请输入数字!\n);scanf(%f,&m);s=s+m;i++;ave=s/n;}printf(%d个数的平均值是:%f\n,n,ave);}/*求一个数各个位上的数字之和*//*此为C++语句*/#includeiostreamusingnamespacestd;intmain(){printf(请输入一个正整数!\n);intx,n=0;cinx;ints=0;while(x){s+=x%10;x/=10;n++;}printf(各个位上的数之和是:\n);couts;printf(\n);return0;}/*求n个数的阶乘之和*/#includestdio.hvoidmain(){intodr=1,sum=0;inti,n;printf(请输入一个大于0的正整数:\n);scanf(%d,&n);for(i=1;i=n;i++){odr=odr*i;sum=sum+odr;}printf(%d\n,sum);}/*求n个a的a+aa+aaa+……的和*//*此为C++语句*/#includeiostreamusingnamespacestd;intmain(){inti,an=0,a,n,tn=0;cout输入a,n:\n;cinan;i=1;an=0;while(i=n){tn=tn+a;a=a*10;++i;an=an+tn;}coutan=an;return0;printf(\n);}/*求e的近似值*/#includestdio.hvoidmain(){floati,m=1;floate=1,n;printf(请输入正整数n:\n);scanf(%f,&n);for(i=1;i=n;i++){m=m*i;e=e+1/m;}printf(e的值为:%f\n,e);}/*求2-n之间的所有素数*/#includestdio.h#includemath.hvoidmain(){inti,j,n,m;printf(请输入一个大于2的整数:\n);scanf(%d,&n);for(j=2;j=n;j++){m=(int)sqrt((double)j);for(i=2;i=m;i++){if(j%i==0){break;}}if(im){printf(%d是素数\n,j);}}}/*换钱问题*/#includestdio.hvoidmain(){intx,y,z,i=0;for(x=1;x100;x++)for(y=1;y50;y++)for(z=1;z20;z++)if(x+2*y+5*z==100){i++;printf(第%d种:%d个1角%d个2角%d个5角,i,x,y,z);}printf(共有%d\n种换法!\n,i);}/*兔子狐狸问题*/#includestdio.hintdata[11];ints(intn){intnt=n%10;if(nt==0)return10;returnnt;}voidmain(){intnum=1;data[1]=1;for(inti=2;i=1000;i++){num+=i;num=s(num);if(data[num]==0)data[num]=num;}for(intk=1;k10;k++){if(data[k]==0)printf(兔子藏在第%d洞里\n,k);}}/*小学生算数*/#includestdio.h#includestdlib.h#includetime.hintmain(){while(1){inta,b,c,d,k,type,op;printf(Pleasechoosethelever!\n1.Easy(0--9)\n2.Hard(10--99)\n);scanf(%d,&k);printf(Pleasechoosethetypeyouwant!\n);printf(**********************\n);printf(*\t1.plus\n*\t2.minus\n*\t3.multiply\n*\t4.divided\n*\t0.exit\n);printf(**********************\n);scanf(%d,&type);if(k==1){a=rand()%10;b=rand()%10;}else{a=rand()%100;b=rand()%100;}if(type==0){printf(thankyouforusing!\n\n);break;}if(type==1){printf(%d+%d=?\n,a,b);while(1){scanf(%d,&op);if(a+b==op){printf(Verygood!Youarerigth!\n\n);break;}elseprintf(Sorry,youarewrong!\nPleaseagain!\n);}}elseif(type==2){printf(%d-%d=?\n,a,b);while(1){scanf(%d,&op);if(a-b==op){printf(Verygood!Youarerigth!\n\n);break;}elseprintf(Sorry,youarewrong!\nPleaseagain!\n);}}elseif(type==3){printf(%d*%d=?\n,a,b);while(1){scanf(%d,&op);if(a*b==op){printf(Verygood!Youarerigth!\n\n);break;}elseprintf(Sorry,youarewrong!\nPleaseagain!\n);}}elseif(type==4){b=b+1;printf(%d/%d=?商几余几\n,a,b);w
本文标题:C语言_经典算法_C语言代码大全
链接地址:https://www.777doc.com/doc-7028586 .html