7. 斐波拉契数列 求值
//斐波拉契数列 求某一项的值
# include<stdio.h>
int main (void)
{
int n;
int f1,f2,f3;
int i;
f1 = 1;
f2 = 2;
printf("请输入您需要的序列:");
scanf("%d",&n);
if (1==n)
{
f3 = 1;
}
else if(2 == n)
{
f3 = 2;
}
else
{
for (i = 3; i <= n; ++i)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
printf ("%d",f3);
}
return 0;
}
8. 回文数的判断
//回文数的判断
# include<stdio.h>
int main (void)
{
int val;
int m;
int sum = 0;
printf ("请输入你要判断的数:");
scanf ("%d",&val);
m = val;
while (m)
{
sum = sum*10 + m%10;
m /= 10;
}
if (sum == val)
printf("Yes!\n");
else
printf("No!\n");
return 0;
}
//可以用来输出逆序数
9. 输入一个数,判断是否为素数(2)(熔断变量)
//输入一个数,判断是否为素数(熔断变量)
# include<stdio.h>
# include<math.h>
int main()
{
int m,i,find = 1,k;
scanf ("%d",&m);
k = sqr(m);
for (i = 2; i <= k; i++)
if(m%i==0)
{
find = 0;break;
}
if(find)
printf("%d is \n",m);
else
printf("%d is not \n",m);
return 0;
}
10. 输入一个数,判断是否为素数(1)
//输入一个整数m,判断是否为素数
# include <stdio.h>
int main ()
{
int m,i,k;
printf ("输入一个整数\n");
scanf ("%d",&m);
k = m - 1;
for (i = 2; i <=k; i++)
if (m%i == 0) break; // m 能被 i 整除就停止
if (i == m) // 如果该数只能被自己整除
printf ("%d is \n",m);
else
printf ("%d is not \n",m);
return 0;
}
11.计算圆周率的近似值
//用while语句计算圆周率的近似值。(直到累加项的绝对值小于 0.00001 )
//公式 : pi /4 ≈1-1/3+1/5-1/7 .......
# include <stdio.h>
# include <math.h>
int main ()
{
int i,n;
i = 0; //法二:int s = 1
n = 1;
float pi = 0;
while (fabs(1.0/n) > 0.00001) // fabs(s*1.0/n) > 1e-b
{
pi+=pow(-1,i)*(1.0/n); //pi+=s*1.0/n
n+=2;
i++; //s = -s(起到+-号作用)
}
printf ("pi=%.2f\n",4*pi);
return 0;
}