C语言练习:
1.循环程序输出斐波那契数列前20位;
#include <stdio.h>
int main()
{
int f1=1,f2=1,f,i;
printf("%5d%5d",f1,f2);
for(i=3;i<=20;i++)
{
f=f1+f2;
printf("%5d",f);
if(i%5==0)printf("\n");
f1=f2;
f2=f;
}
return 0;
}
2.数组输出斐波那契数列前20位;
#include<stdio.h>
int main()
{
int i;
int fib[20]={1,1};
for(i=2;i<=20;i++)
{
fib[i]=fib[i-1]+fib[i-2];
}
for(i=0;i<20;i++)
{
if(i%5==0)printf("\n");
printf("%5d",fib[i]);
}
return 0;
}
3.冒泡排序;
#include<stdio.h>
#define N 5
int main()
{
int i,j,temp;
int arr[5]={2,1,5,6,4};
for(i=0;i<N;i++)printf("%5d",arr[i]);
for(i=0;i<=N-1;i++)
{
for(j=0;j<=N-1-i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("\n");
for(i=0;i<N;i++)
printf("%5d",arr[i]);
return 0;
}
4.选择排序;
#include<stdio.h>
int main()
{
int arr[5];
int i,j,min=0,temp;
for(i=0;i<5;i++)
scanf("%d",&arr[i]);
for(i=0;i<5;i++)
printf("%5d",arr[i]);
printf("\n");
for(i=0;i<4;i++)
{
min=i;
for(j=i+1;j<5;j++)
{
if(arr[j]<arr[min])
{
min=j;
}
if(min!=i)
{
temp=arr[min];
arr[min]=arr[i];
arr[i]=temp;
}
}
}
for(i=0;i<5;i++)printf("%5d",arr[i]);
printf("\n");
return 0;
}