C程序设计算法归纳

1递归法转换整数为字符

void convert(int n)

{int t;

if((t=n/10)!=0)

convert(t);

putch(n%10+'0'); }

2判断素数

int isPrime(int n)

{int i;

for(i=2;i<n/2;i++)

if(n%i==0) return 0;

return 1; }

3求闰年

if((year%4==0&year%100!=0)||(year%400)==0)

printf("%d is a leap year",year);

else printf("%d is not a leap year",year);

4求N的阶乘

for(int t=1,i=2;i<=N;i++)

t*=i; printf("%d",t);

5求m和n最大公约数和最小公倍数

if(a<b)

{a=t;a=b;b=t;}

r=a%b;

while(r)

{a=b;b=r;r=a%b;} printf("(a,b)最大公约数%d,(a,b)最小公倍数%d",r,ab/r);

6大写字母改小写字母

c1=getchar();

c2=c1+32;

printf("%c,%c",c1,c2);

7小写字母改大写字母

c1=getchar();

c2=c1-32;

printf("%c,%c",c1,c2);

8求3个数由小到大的顺序输出

if(a>b) {t=a;a=b;b=t;}

if(a>c) {t=a;a=c;c=t;}

if(b>c) {t=b;b=c;c=t;} * 若要求由大到小顺序输出,改'>'为'<'即可。

9求ax*x+b*x+c方程的解

if(fabs(a)<=1e-6)

printf("非二次方程");

else

disc=b*b-4*a*c;

if(fabs(disc)<=1e-6)

printf("有两相等实根:%f\n",-b/(2*a));

else if(fabs(disc)>1e-6)

{x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf("有两相异实根:%f和%f\n",x1,x2);

}

else

{realpart=-b/(2*a);

imagpart=sqrt(-disc)/(2*a);

C程序设计算法归纳相关文档

最新文档

返回顶部