程序举例(初学者)
例1:用数组来处理,求解斐波那契数列(前20个)。
过程:先定义一个20个元素的数组,并将数组的第一第二个元素都初始化为一,其他元素初始化为0,通过公式求出其他各个元素的值。
参考代码1(我自己做的):
#include<stdio.h> #include "StdAfx.h" void main() { int i,a[20]={1,1}; printf("%d\n%d\n",a[0],a[1]); for(i=2;i<20;i++) { a[i]=a[i-1]+a[i-2]; printf("%d\n",a[i]); } }
参考代码2(参考答案)
#include<stdio.h> #include "StdAfx.h" void main() { int i,a[20]={1,1}; for(i=2;i<20;i++) { a[i]=a[i-1]+a[i-2]; } for(i=0;i<20;i++) { if(0==i%5) /*用if语句来控制换行,每行输出5个数据*/ { printf("\n"); } printf("%12d",a[i]); } }
例2:用冒泡法对10个数排序(由小到大)。
冒泡法的思路:将相邻的两个数比较,将小的调到前面。
参考代码1
#include<stdio.h> #include "StdAfx.h" void main() { int i,a[10],b,c,d,min,e; printf("please input ten numbers:"); for(i=0;i<=9;i++) { scanf("%d",&a[i]); } for(b=0;b<=9;b++) { min=a[b]; for(c=b;c<=9;c++) { if(a[c]<min) { e=min; min=a[c]; a[c]=e; } } a[b]=min; } for(d=0;d<=9;d++) printf("%d\n",a[d]); }
参考答案2:
#include<stdio.h> #include "StdAfx.h" void main() { int i,j,t,a[10]; printf("please input ten numbers:"); for(i=0;i<=9;i++) { scanf("%d",&a[i]); } printf("\n");/*前面这些实现用户输入数据到数组*/ for(j=0;j<=9;j++) { for(i=0;i<9;i++) { if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; }/*上面是将a[i]和a[i+1]两数调换*/ } } printf("the sorted numbers:\n"); for(i=0;i<=9;i++) { printf("%d\n",a[i]); } printf("\n"); }