建立一维数组,将斐波那契数列的前12项存入数组中,然后输出这12项。己知前两项的值都是1。

有没有会这个:
建立一维数组,将斐波那契数列的前12项存入数组中,然后输出这12项。己知前两项的值都是1。

以下是生成斐波那契数列的代码:

#include <stdio.h>

void generateFibonacci(int* fibArray, int size) {
    // 前两项的值都是1
    fibArray[0] = 1;
    fibArray[1] = 1;

    // 生成后续项
    for (int i = 2; i < size; i++) {
        fibArray[i] = fibArray[i - 1] + fibArray[i - 2];
    }
}

void printArray(const int* array, int size) {
    for (int i = 0; i < size; i++) {
        printf("%d ", array[i]);
    }
    printf("\n");
}

int main() {
    const int SIZE = 12;
    int fibonacci[SIZE];

    // 生成斐波那契数列
    generateFibonacci(fibonacci, SIZE);

    // 输出结果
    printf("斐波那契数列前12项:\n");
    printArray(fibonacci, SIZE);

    return 0;
}


    #include<stdio.h>
 
    int main()
    {

        int i;
        int arr[12] = {1,1};
        for (i = 2; i <= 12; i++)
        {
            arr[i] = arr[i - 1] + arr[i - 2];          
        }
        for (i =0; i < 12; i++)
        {
            printf("%d ",arr[i]);          
        }
        return 0;
    }
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/340143
  • 你也可以参考下这篇文章:(数据结构)建立链栈,将一组数据入栈,然后再分别出栈并输出。
  • 除此之外, 这篇博客: 设计一个程序,采用交互方式建立一个无向图的邻接表表示,并输出该图的深度优先搜索遍历得到的顶点序列。中的 题目2:设计一个程序,采用交互方式建立一个无向图的邻接表表示,并输出该图的深度优先搜索遍历得到的顶点序列。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 本代码参考了施老师等编著的《数据结构》一书

    #include <iostream>
    using namespace std;//蓝多多算法实验六 图  题2
    #define MaxVertexNum 100// 最大顶点数为100
    #define VertexType char//顶点域为字符型
    int visited[MaxVertexNum];//标记结点是否被访问过
    typedef struct enode//边表中的结点
    {
    	int adjvex;//边表顶点域
    	struct enode* next;//指针域
    }EdgeNode;
    typedef   struct vnode//顶点表
    {
    	VertexType vertex;//顶点域
    	EdgeNode* firstedge;//边表头指针
    }VertexNode;
    typedef struct//邻接表
    {
    	VertexNode vexs[MaxVertexNum];//节点表
    	int n, e;//顶点数和边数
    }ALGraph;
    void InsertNode(ALGraph& G, int i, int j)//在边表中插入结点
    {
    	EdgeNode* s;
    	s = (EdgeNode*)malloc(sizeof(EdgeNode));//生成新边表结点s
    	s->adjvex = j;//邻接点序号为j 
    	s->next = G.vexs[i].firstedge;
    	G.vexs[i].firstedge = s;//将新边表结点s插入到顶点Vi的边表头部
    }
    ALGraph CreateALGraph()//建立邻边表
    {
    	ALGraph G;
    	int i, j;
    	cout << "请输入顶点数和边数:\n";
    	cin >> G.n >> G.e;
    	cout << "请输入顶点信息:\n";
    	for (i = 0; i < G.n; i++)//建立有n个顶点的顶点表
    	{
    		cin >> G.vexs[i].vertex;//输入顶点
    		G.vexs[i].firstedge = NULL;//顶点的边表头指针设为空
    	}
    	cout << "请输入边的信息(输入格式为:i (空格) j ):\n";
    	for (int k = 0; k < G.e; k++)//建立邻接表
    	{
    		cin >> i >> j;
    		InsertNode(G, i, j);
    		InsertNode(G, j, i);
    	}
    	return G;
    }
    void DFSAL(ALGraph G, int i) //以Vi为出发点对图G搜索
    {
    	EdgeNode* p;
    	cout << G.vexs[i].vertex << "  ";//访问顶点Vi
    	visited[i] = 1;//标记Vi已访问
    	p = G.vexs[i].firstedge;//取Vi边表的头指针
    	while (p)//依次搜索Vi的邻接点Vj
    	{
    		if (visited[p->adjvex] == 0)//若Vj尚未访问,则以Vj为出发点继续搜索
    			DFSAL(G, p->adjvex);
    		p = p->next;//找Vi的下一个邻接点
    	}
    }
    void DFSTraverseAL(ALGraph G)
    {
    	int  i;
    	for (i = 0; i < G.n; i++)
    		visited[i] = 0;//初始化
    	for (i = 0; i < G.n; i++)
    		if (visited[i] == 0)
    			DFSAL(G, i);//Vi未访问过,从Vi开始搜索
    }
    int main()
    {
    	ALGraph G = CreateALGraph();
    	cout << "该图的深度优先搜索遍历得到的顶点序列为:";
    	DFSTraverseAL(G);
    	system("pause");
    	return 0;
    }
    
    

    实验结果:

  • 您还可以看一下 李文斌老师的极简概率论-数据科学数学基础课程中的 随机变量的独立性小节, 巩固相关知识点