程序举例(初学者)

例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");
}

 

posted @ 2019-01-21 22:34  巫师笔记  阅读(428)  评论(0编辑  收藏  举报