分类:
2011-10-05 22:05:19
原文地址:C语言常用函数 作者:liutaolinux
int isPrime(int n)
{int i;
for(i=2;i
if(n%i==0) return 0; # 后部分由中国修改版本中#
return 1; #可以使用中文字符#
} #使用C语言编程推荐使用LINUX#
求闰年 #使用通俗易懂的语法以增加可读性#
if((year%4==0&year%100!=0)||(year%400)==0) #源代码的开放是一种进步#
printf("%d 是闰年",year);
else
printf("%d 不是闰年",year);
求N的阶乘
for(int t=1,i=2;i<=N;i++)
t*=i;
printf("%d",t);
求m和n最大公约数和最小公倍数 (辗转法)
if(a
{a=t;a=b;b=t;}
r=a%b;
while(r)
{a=b;b=r;r=a%b;}
printf("最大公约数%d,最小公倍数%d",r,ab/r);
大写字母改小写字母 (小写改大写就减32)
c1=getchar();
c2=c1+32;
printf("%c,%c",c1,c2);
求ax*x+b*x+c方程的解
f(fabs(a)<=1e-6) /*绝对值,即指a趋近于0*/
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);
printf("有两共轭复根:\n");
printf("%f+%fi\n",realpart,imagpart);
printf("%f-%fi\n",realpart,imagpart);
}
兔子算法(Fabonaqie数列)
int a[20]; //把兔子数看作一个数组
a[0]=1;a[1]=1; //最前面2项
for(i=2;i<20;i++) //利用循环算数列中的项
{a[i]=a[i-1]+a[i-2]; //数组的定义
printf("%d",a[i]);
}
猴子吃桃问题
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("总数为 %d\n",x1);
}
杨辉三角
main()
{int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
{a[i][0]=1; //每行的开头都是1
a[i][i]=1;} //最后也是1
for(i=2;i<10;i++)
for(j=1;j
a[i][j]=a[i-1][j-1]+a[i-1][j];//杨辉三角的定义
for(i=0;i<10;i++) //用双for来输出2维数组
{for(j=0;j<=i;j++)
printf("%5d",a[i][j]); //%5d 控制对齐
printf("\n"); //输完一行后换行
}
}
最短的求润年的函数
int isLeap(int y)
{
return y%(y%100?4:400)==0;
}
两个数交换,不设置新变量
a=a+b;
b=a-b;
a=a-b;
统计文本单词的个数(单词间用空格隔开)
#include "stdio.h"
main()
{char c,string[80];
int i,num=0,word=0;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c==' ') word=0;
else if(word==0)
{ word=1;
num++;}
printf("该词出现: %d .\n",num);
}