澳门新葡亰信誉平台游戏回望

by admin on 2020年1月23日

斐波纳契数列

求Fibonacci数列的高四个人
先看对数的个性,loga(b^c卡塔尔国=c*loga(b),loga(b*c)=loga(b)+loga(c);
假若给出七个数10234432,那么log10(10234432卡塔尔(قطر‎=log10(1.0234432*10^7)=log10

后生可畏、指针 用指针方法编写四个前后相继,输入 3
个整数,将它们按由小到大的逐生机勃勃输出

注意事项:

(1.0234432)+7;

#include <stdio.h>

斐波这契数列提升的速度火速,高于几何级。当先40级的数列值很大概突破4GB的取值范围,进而发生溢出。

log10(1.0234432State of Qatar正是log10(10234432卡塔尔国的小数部分.

void swap(int *pa,int *pb) {

        
其隐式和显式求解的结果是见仁见智的,必得在显式求解的根基上对计量结果进行取整改革。

log10(1.0234432)=0.010063744
10^0.010063744=1.023443198
那就是说要取四位就很精晓了呢~
先取对数(对10取卡塔尔国,然后拿走结果的小数部分bit,pow(10.0,bitState of Qatar以往只要答案依旧

int temp;

 

<1000那么就一直乘10。
小心偶先管理了0~20项是为着便于管理~

temp = *pa;

代码1:用迭代的不二法门实现斐波那数列。

这题要利用到数列的公式:an=(1/√5卡塔尔 * [((1+√5)/2)^n-((1-√5)/2)^n]

*pa = *pb;

#include<stdio.h>

(n=1,2,3…..)

*pb = temp;

 

 

}

main()

本条标题就是用到那一个公式,化简f(n卡塔尔=n*log10((1+sqrt(5))/2)-log10(sqrt

void main() {

{

(5卡塔尔(قطر‎State of Qatar+log10(1-((1-sqrt(5State of Qatar)/(1+sqrt(5卡塔尔(قطر‎卡塔尔国卡塔尔国^nState of Qatar后边粉红白部分是无穷一丢丢,能够省略

int a,b,c,temp;

                  Long fn1,fn2,fn3;


于是f(n)=n*log10((1+sqrt(5))/2)-log10(sqrt(5));
#include<stdio.h>
#include<math.h>
int f[21]={0,1,1};
int main()
{    
int n,i;    
for(i=2;i<21;++i)        
f[i]=f[i-1]+f[i-2];    
while(scanf(“%d”,&n)!=EOF)    
{         if(n<=20)        
{            
printf(“%dn”,f[n]);            
continue;        
}        
else       
{            
double temp=-0.5*log(5.0)/log(10.0)+((double)n)*log((sqrt

scanf(“%d%d%d”,&a,&b,&c);

                  int i,n;

(5.0)+1.0)/2.0)/log(10.0);            
temp-=floor(temp);            
temp=pow(10.0,temp);            
while(temp<1000)                
temp*=10.0;            
printf(“%dn”,(int)temp);        
}    
}
//system(“pause”);
return 0;
}

if swap(&a,&b);

                  printf(“Please anter month
number(less than 40):”);

if swap(&b,&c);

                  scanf(“%d”,&n);

if swap(&a,&c);

                  if(n<1) n=1;

printf(“%d,%d,%d”,a,b,c);

 

}

澳门新葡亰信誉平台游戏,                  printf(“n”);

二、
编写二个函数,将多个字符串中的元音字母复制到另二个字符串,然后在主函数中输出。

                  fn1=fn2=1;

#include<stdio.h>

                  printf(” M.
1:%10d”,fn1);

int main()

                  if(n>1)

{void copy(char c[],char b[]);

                  
         printf(” M.
2:%10d”,fn2);

char a[100],b[20];

                  for(i=3;i<=n;i++)

gets;

                  {

copy;

                  
        
fn3=fn2+fn1;

puts;

                  
         printf(”
M.%2d:%10d”,i,fn3)   ;

return 0;

                  
         if(i%4==0)

}

                  
        
printf(“n”);

void copy(char c[],char b[])

                  
         fn1=fn2;

{int i,j=0;

                  
         fn2=fn3;

for(i=0;c[i]!=’’;i++)

                  }

if(c[i]==’a’||c[i]==’A’||c[i]==’e’||c[i]==’E’||c[i]==’i’||c[i]==’I’||c[i]==’O’||c[i]==’o’||c[i]==’u’||c[i]==’U’)

                  getch();

{b[j]=c[i];j++;}

}

b[j]=’’;

 

return;

代码2:用利用公式法完成斐波那契数列。

}

#include<stdio.h>

三、写大器晚成函数,对输入的风度翩翩组整数按由小到大的相继排序,在main主函数调用该函数达成排序

#include<math.h>

#include<stdio.h>

 

void main()

main()

{void paixu(int a[],int n);

{

int a[100],i,n;

                  int n;

printf(“要求对有个别数实行排序:”卡塔尔(قطر‎;

 

scanf(“%d”,&n);

                  printf(“Please input the number
of n:n”);

printf(“请输入要排序的意气风发组数;

                  scanf(“%d”,&n);

for(i=0;i<n;i++)

                  printf(“%dn”,n);

scanf(“%d”,&a[i]);

 

paixu;

                 
printf(“f%d=%lf”,n,pow((1+pow(5,0.5))/2,n));

for(i=0;i<n;i++)

 

printf(“%2d”,a[i]);

                  getch();

printf;

 

return;

}

}

 

void paixu(int a[],int n)

代码3:验证斐波那契数列性质,前后成分的比重切合白金分割。

{int i,j,t;

#include<stdio.h>

for(j=0;j<n;j++)

#define Limit 40

for(i=0;i<n-1-j;i++)

main()

if(a[i]>a[i+1])

{

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

                  long f0=0,f1=1,n,temp;

}

                 
printf(“%7s%19s%29sn%7s%19s%29sn%7s%19s%29sn”,

四、 编写一个函数,总括字符数组中山大学写字母的个数。

                  
         ”
“,”Fibonacci”,”Fibonacci”,

#include <stdio.h>

                  
         ” n”,”
number”,”quotient”,

int main()

                  
        
“–“,”——-“,”——–“);

{char string[100],Le;

                 
printf(“%7d%19dn%7d%19dn”,0,0,1,1);

int count;

                  
        
for(n=2;n<=Limit;n++)

printf(“input string:n”);

                  
         {

_gets__; //输入字符串

                                     temp=f1;

Le=count; //调用count函数

                                     f1+=f0;

printf(“大写字母有%d个”,LeState of Qatar;

                                     f0=temp;

return 0;

                                    
printf(“%7d%19d%29.16fn”,n,f1,(double)f1/f0);

}

                  
         }

int count( char s[ ] )

 

{int sum=0,i;

                  
         return 0;

for (i=0;s[i]!=’’;i++)

}

if (s[i]>=’A’ && s[i]<=’Z’)

 

sum++;

return sum;

}

五、从键盘输入三个字符串,删除当中的字母
a后输出。比如,输入字符串”abcaca”,输出 bcc。

#include <stdio.h>

#include <string.h>

void main()

{

char a[100],b[100];int i,j=0;

gets;

for(i=0;(a[i]!=’’);i++)

if(a[i]!=’a’)

{b[j]=a[i];j++;}

b[j]=’’;

printf;

}

六、
有后生可畏篇文章,共有3行文字,每行有七十九个字符,供给分别总括出里面意国语大写字母、小写字母、数字、空格以致其余字符的个数。

#include <stdio.h>

#include <string.h>

void main()

{

char str[3][80];

int i,j,m=0,n=0,p=0,q=0,t=0;

for(i=0;i<3;i++)

gets;

for(i=0;i<3;i++)

{

for(j=0;j<strlen;j++)

{

if(str[i][j]>=’A’&&str[i][j]<=’Z’)

m++;

else if(str[i][j]>=’a’&&str[i][j]<=’z’)

n++;

else if(str[i][j]>=’0’&&str[i][j]<=’9′)

p++;

else if(str[i][j]==’ ‘)

q++;

else t++;}

}

printf(“大写字母有%d个n小写字母有%d个n数字有%d个n空格有%d个n别的字符有%d个n”,m,n,p,q,t);

}

七、 //求八个3×3的整数矩阵对角线成分之和。

#include <stdio.h>

void main()

{

int a[3][3],i,j,m=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf(“%d”,&a[i][j]);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if (i==j || i+j==2)

m=m+a[i][j];

printf;

}

八、 //用选取法对11个整数排序。12个整数用scanf函数输入。

#include <stdio.h>

void main()

{

int i,j,m,min,t,a[10];

for(i=0;i<10;i++)

scanf(“%d”,&a[i]);

for(i=0;i<9;i++)

{

m=i;min=a[i];

for(j=i+1;j<10;j++)

{

if(min>a[j])

{min=a[j];m=j;}

}

t=a[i];a[i]=a[m];a[m]=t;

}

printf(“排序后的数组为:n”);

for(i=0;i<10;i++)

printf(“%d “,a[i]);

}

九、
//用递归法求Fibonacci数列第n项的值。该数列犹如下的性状:第2个数和首个数都为1,从第4个数开台,种种数都以其后面八个数之和。即:

#include<stdio.h>

long Fibonacci

{ long f;

if(n==0||n==1)

f=n;

else

f=Fibonacci+Fibonacci;

return f;

}

int main()

{

int n;

scanf(“%d”,&n);

printf=%dn”,n,Fibonacci;

return 0;

}

十、 //写二个剖断素数的函数,在主函数输入三个大背头,输出是或不是素数的新闻。

要求:

函数名叫prime,假诺是素数,函数重返值为1,假使不是素数,函数重临值为0。

#include<stdio.h>

int prime

{int i,f;

for(i=2;i<x;i++)

{if break;}

if f=0;

else f=1;

return f;}

int main()

{int prime;

int a,x;

scanf(“%d”,&x);

a=prime;

if

printf;

else

printf;

return 0;}

封存剖断素数的函数,修正主函数,供给贯彻出口100~200在此以前的素数。

#include<stdio.h>

int prime

{int i,f;

for(i=2;i<x;i++)

{if break;}

if f=0;

else f=1;

return f;}

int main()

{int prime;

int a,x;

for (x=100;x<=200;x++)

{a=prime;

if

printf;

}

return 0;}

十生龙活虎、
//输出100以内具备能被3整余但不可能被5整除的数,按每5个数的花样出口。

#include <stdio.h>

void main()

{int i,k=0;

for (i=1;i<=100;i++)

{ if (i%3==0 && i%5!=0)

{printf;

k++;

if printf;

}

}

printf(“n个数:%dn”,k);

}

十一、
//输入生机勃勃行字符,分别总计出里面包车型大巴保加圣Pedro苏拉语字母、空格、数字和别的字符的个数。

#include <stdio.h>

void main()

{

int a=0,b=0,c=0,d=0;

char j;

for(;(j=getchar!=’n’;)

{ if(‘a'<=j && ‘z’>=j || ‘A'<=j &&’Z’>=j)

a++;

else if(‘0′<=j && ‘9’>=j)

b++;

else if

c++;

else d++;

}

printf(“字母%d 数字%d 空格%d 其他%dn”,a,b,c,d);

}

十八、
//本人编写一个求x的n次方的函数(函数名叫power,n为整数),在主函数中输入x和n的值,调用函数求出x的n次方。

#include<stdio.h>

double power(int x,int n)

{double t=1;

for(;n>=1;n–)

t=t*x;

return t;

}

void main()

{int x,n;

printf(“输入x和n的值:”);

scanf(“%d%d”,&x,&n);

power;

printf(“%.0fn”,power;

return;

}

十四、 /*以下顺序的效劳为:通过输入年份和月份,推断这个月的天意。请填空。

分析:

一年中1、3、5、7、8、10、一月份均为31天;4、6、9、十月份均为30天;借使该年是闰年,则六月份为29天,不然为28天。

闰年的规格是:能被4整除但无法被100整除,只怕能被400整除。*/

#include<stdio.h>

int main()

{ int y,m,d;

printf(“请输入年份和月份”卡塔尔(قطر‎;

scanf(“%d,%d”,&y,&m);

switch

{case 2:

if (m%4==0&&m%100!=0 || m%400==0卡塔尔国 //剖断是或不是为闰年

d=29;

else

d=28;

break;

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: d=31;break;

case 4:

case 6:

case 9:

case 11:d=30;

}

printf(“%d年%d月份有%d天n”,y,m,d);

return 0;

}

十五、 /*打字与印刷如下图形。请填空。

*

* * *

* * * * *

* * * * * * *

*/

#include<stdio.h>

int main()

{ int i,j;

for (i=1;i<=4;i++)

{for (j=1;j<=10-i;j++) printf; //输出*事情未发生前的空格

for (j=1; j<=2*i-1;j++State of Qatarprintf;// 输出每风流倜傥行的”*”

printf; //输完每意气风发行后换行

}

return 0;

}

十六、 /*输出如下图形。

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

1 2 3 4 5 6 5 4 3 2 1

1 2 3 4 5 6 7 6 5 4 3 2 1

1 2 3 4 5 6 7 8 7 6 5 4 3 2 1

1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1

*/

#include<stdio.h>

int main()

{ int i,j;

for (i=1;i<=9;i++)

{for (j=1;j<=20-i;j++)

printf;

for (j=1;j<=i;j++)

printf;

for (j=i-1;j>=1;j–)

printf;

printf;

}

return 0;

}

十七、 // S=1/2+2/3+3/5+5/8+…… (12.278297)

#include <stdio.h>

void main()

{int i,m=1,n=2,a;

float b,s=0;

for(i=1;i<=20;i++)

{

b=m/n;a=n;n=m+n;m=a;

s=s+b;}

printf;

}

十八、 //S=1!+2!+3!+……10!进制

方法一:

#include <stdio.h>

void main()

{

int i,a=1,b=0;

for(i=1;i<=10;i++)

{a=a*i;

b=b+a;}

printf;

}

方法二:

#include<stdio.h>

void main()

{int i,s,a,n;

s=0;

for(i=1;i<=10;i++)

{

for(n=1,a=1;n<=i;n++)

a=a*n;

s=s+a;

}

printf(“s=%dn”,s);

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图