1.斐波那契
intFibon(int n)
{
intf1=1;
intf2=1;
intf3=1;//使前两项输出1
for(int i=3;i<=n;i++)
{f3=f1+f2;
f1=f2;
f2=f3;} //循环体
returnf3;
}
intmain()
{
printf("%d\n",Fibon(0));
printf("%d\n",Fibon(5));
return0;
}
2.数字处理
//几位数:丢个位数字
// 逆序输出:先取余得各位打印,丢弃个位
// 顺序输出:先整除最高位打印,丢弃最高位
intGetFigures(int n)//统计十进制数字n是个几位数字
{
intcount=0;//计数
if(n==0)
{return1;}
do//丢弃个位
{count++;
n/=10;}
while(n!=0);
returncount;//几位数
}
voidPrintReverse(int n)//逆序输出十进制数字n的每一位,12->2 1
{
if(n<0)//负数处理
{printf("-");
n=-n;}
do//打印个位,丢弃个位
{printf("%d ",n%10);
n/=10;}
while(n!=0);
printf("\n");
}
voidPrintOrder(int n)//顺序输出
{
inta=GetFigures(n);//几位数
int tmp=1;
for(int i=0;i<a-1;i++)
{tmp*=10;}//2位数对应100
do//打印最高位,丢弃最高位,进行下一位
{printf("%d ",n/tmp);
n%=tmp;}
tmp/=10;}
while(n!=0);
printf("\n\n");
}
intmain()
{
printf("%d\n",GetFigures(0));
PrintReverse(0);
PrintOrder(0);
printf("%d\n",GetFigures(567));
PrintReverse(567);
PrintOrder(567);
printf("%d\n",GetFigures(-567));
PrintReverse(-567);
PrintOrder(-567);
return0;
}
3.判断素数
#include<math.h>
boolE(int n)
{
//for(inti=2;i<n;i++)
for(inti=2;i<sqrt((double)n);i++)//进行开平方优化
{if(n%i==0)
{returnfalse;}}
returntrue;
}
intmain()
{
if(E(7))//判断某一个数字是不是素数
{printf("%d是素数\n",7);}
else
{printf("%d不是素数\n",7);}
for(inti=3;i<100;i++)//判断3~100之间的素数
if(E(i))
{printf("%d\n",i);}
return0;
}