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);
printf("有两共轭复根:\n");
printf("%f+%fi\n",realpart,imagpart);
printf("%f-%fi\n",realpart,imagpart);
}
10冒泡法排序 (由小到大)
int a[N+1];
for(i=1;i<=N;i++) /* 输入N个数 (数组输入功能)*
scanf("%d",&a);
for(j=1;j<N;j++) /* 排序开始 */
for(i=1;i<=N-j;i++)
if(a>a[i+1])
{
t=a;
a=a[i+1];
a[i+1]=t;
}
for(i=1;i<=N;i++) /* 输出排好的这N个数 (数组输出功能) */
printf("%d",a);
11选择法排序 (由小到大)/* 子程序部分 */
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array;array=t;
}
12插入法排序
int a[N];
/* 省略数组输入(见上:冒泡法)*/
for(i=1;i<N;i++)
{
m=a;
j=i-1;
while(j>=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
a[j]=m;
}
/* 省略数组输出(见上:冒泡法)*/
13.数列中查找一个关键字
(1)折半法
BinarySearch(a,n,x,j)
k=0;
m=n-1;
while(k<=m)
{
j=(k+m)/2;
if(x==a[j])
exit;
else if(x<a[j])
m=j-1;
else k=j+1;
}
if(k>m)
j=0;
printf("%d",j);
(2)顺序查找法
int a[N];
/* 省略数组输入(见上:冒泡法)*/
for(i=0;i<N;i++)
if(x==a)
{
printf("找到!序号为:%d\n",--i); break;
}
if(i==8)
printf("没找到!");
(3)快速顺序查找法
int a[N];
/* 省略数组输入(见上:冒泡法)*/
a[N-1]=x;
i=0;
while(a!=x)
i++;
if(i<N-1)
printf("找到!序号为:%d\n",i);
else
printf("没找到!");算