数据结构题集(c语言版)第1章:绪论
1.17 k阶斐波那契数列
已知k 阶斐波那契序列的定义为
;
试编写求k阶斐波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。
递归算法(较完善,输入引导,反复计算)如下:
#include <stdio.h>
int fibonacci(int layer, int position)
{int fi_value;if (position < layer - 1) {fi_value = 0;return fi_value;}else if (position == layer - 1)return fi_value = 1;else if (position == layer)return fi_value = 1;else{fi_value = 0;fi_value = 2 * fibonacci(layer, position - 1) - fibonacci(layer, position - layer - 1);return fi_value;}
}
void main()
{printf("input layer and position value:(enter other contents to quit)\n");int layer, position,m=10;int ch,scan_return;while ((scan_return=scanf("%d %d", &layer, &position))==2){printf("step1\n");printf("step2\n");printf("layer=%d,position=%d\n", layer, position);if (layer < 0 || position < 0){printf("these two values shouldn't be negative\n\n");continue;}printf("The %dth element of %d layers fibonacci sequence is %d\n", position,layer,fibonacci(layer, position));printf("step3\n\n");printf("input layer and position value:(enter a new line to quit)\n");while ((ch = getchar() != '\n'));}}
1.18 结构处理表
假设有A,B,C,D,E五个高等院校进行田径对抗赛,各院校的单项成绩均已存入计算机,并构成一张表,表中每一行的形式为
项目名称 |
性别 |
校名 |
成绩 |
得分 |
编写算法,处理上述表格,以同济各院校的男、女总分和团体总分,并输出。
参考参考答案:
#include <stdio.h>
#define REPORT_NUM 35
typedef enum {A,B,C,D,E}SchoolName;
typedef enum {Male,Female}Gender;
typedef struct {char event[3];Gender sex;SchoolName school;int score;
}Element;typedef struct {int MaleSum;int FemaleSum;int TeamSum;
}Sum;int data_deal(Element*, Sum*);
void main()
{return 1;
}int data_deal(Element* pRecord, Sum* pSum_score)
{pSum_score->MaleSum = 0;pSum_score->FemaleSum = 0;pSum_score->TeamSum = 0;for (int i = 0; i < REPORT_NUM; i++){switch (pRecord[i].sex){case Male:pSum_score[pRecord[i].school].MaleSum += pRecord[i].score;break;case Female:pSum_score[pRecord[i].school].FemaleSum += pRecord[i].score;break;}}for (int i = A; i <= E; i++){pSum_score[i].TeamSum = pSum_score[i].MaleSum + pSum_score[i].FemaleSum;} return 0;
}
1.19 计算
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>#include <math.h>
#define arrsize 20
unsigned long factorial(int n)
{if (n > 0)return (unsigned long)n * factorial(n - 1);else return 1;
}int compute(unsigned long a[], int n)
{if (n > arrsize){printf("n's too big\n");exit(0);}for (int i = 0;i < n; i++){a[i] = (unsigned long)factorial(i) * pow(2, i);if (a[i] > INT_MAX){printf("result overflow, max_int is %d\n",INT_MAX);exit(OVERFLOW);}}return 1;
}int main()
{int n;unsigned long a[arrsize];printf("enter a n you want limit the computation:\n");while (scanf("%d", &n) == 1){compute(a, n);for (int i = 0; i < n; i++){printf("a[%d]=%d\n", i,a[i]);}printf("enter a n you want limit the computation:\n");}printf("later\n");return 0;
}
1.20 一元多项式
#include <stdio.h>
#include <math.h>
#define arrsize 20
double polydomial(double[], double, int);
int main()
{int n;double a[arrsize], x;printf("enter n:\n");while (scanf("%d", &n) == 1){printf("enter x:\n");if (scanf("%lf", &x) != 1){printf("wrong input!\n");return 0;}for (int i = 0; i <= n; i++){printf("enter a[%d]:\n",i);while (scanf("%lf", &a[i]) != 1){printf("wrong input\n");getchar();}}printf("the value of polydomial is %lf\n", polydomial(a, x, n));printf("enter n:\n");}printf("wrong input\n");
}
double polydomial(double a[], double x, int n)
{double ret_val = 0;for (int i = 0; i <= n; i++){ret_val += a[0] * pow(x, i);}return ret_val;
}
数据结构题集(c语言版)第1章:绪论相关推荐
- 数据结构题集c语言版第七章答案,数据结构题集(C语言版)答案 - 严蔚敏编著...
C Temp); ListMinus_L(A Temp D); } 2.30 要求同2.29题 试对单链表编写算法 请释放A表中的无用结点空间 解: // 在A中删除既在B中出现又在C中出现的元素 并 ...
- c语言数据结构算法设计题,数据结构题集(C语言版)算法设计题答案[].doc
数据结构题集(C语言版)算法设计题答案[].doc 第一章 绪论 1.16 void print_descending(int x,int y,int z)// 按从大到小顺序输出三个数 { scan ...
- 数据结构题及c语言版实验报告排序,数据结构二叉排序树实验报告
<数据结构二叉排序树实验报告>由会员分享,可在线阅读,更多相关<数据结构二叉排序树实验报告(7页珍藏版)>请在装配图网上搜索. 1.实验报告课程名:数据结构(C语言版)实验名: ...
- 数据结构题及c语言版答案9.14,十套数据结构试题+答案+难题解析(精校版)
十套数据结构试题+答案+难题解析(精校版) 更新时间:2017/2/9 10:47:00 浏览量:643 手机版 数据结构试卷(一) 一.单选题(每题 2 分,共20分) 1. 栈和队列的共同特点 ...
- 数据结构题及c语言版答案周桂红版,数据结构习题与答案.pdf
第 1 章 绪 论 课后习题讲解 1. 填空 ⑴( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理. [解答]数据元素 ⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据 ...
- 数据结构题及c语言版4.31答案,数据结构参考题及答案修正版.doc
<数据结构与算法>2015-2016学年第1学期考试复习题 该版纠错题有:7,16,22 选择题(下面各小题有一个正确答案,请将正确答案的编号填写在各小题的括号内). 1.在一棵具有5层的 ...
- 数据结构题及c语言版答案第七章,数据结构第七章习题答案
第七章 图 1.下面是一个图的邻接表结构,画出此图,并根据此存储结构和深度优先搜索算法写出从C开始的深度优先搜索序列. 0 A 1 3 ^ 1 B 3 5 ^ 2 C 3 0 ^ 3 D 4 ^ 4 ...
- 数据结构题及c语言版严第七章答案,数据结构第七章习题答案.doc
数据结构第七章习题答案 PAGE PAGE 9 第7章 <图>习题参考答案 一.单选题(每题1分,共16分) ( C )1. 在一个图中,所有顶点的度数之和等于图的边数的 倍. A.1/2 ...
- 厂工数据结构Anyview(C语言版)第二章答案
第二章 一.实现顺序栈的判空操作 二.实现顺序栈的取栈顶元素操作 三.实现顺序栈的出栈操作 四.构建初始容量和扩容增量分别为size和inc的空顺序栈S 五.实现顺序栈的判空操作 六.实现顺序栈的入栈 ...
- 严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(一)
这里用的是严蔚敏版<数据结构 (C语言版)>和<数据结构题集>,深感自己的代码写得又渣又无力,打算把这本书好好琢磨透彻,里面的算法和模板都实现一遍,题目也都做一遍.最终能够做到 ...
最新文章
- jpg在线合并jpg_JPG如何运作
- struts2 中 Preparable 接口实现数据准备
- RMAN 系列(二) ---- RMAN 设置和配置
- 自己动手实现一个MVVM库
- 并查集(Union-Find)算法介绍
- 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式
- hbuilder 个推登记应用
- 根据需求进行批量新增
- WindRiver Linux Yocto Project Note
- 基于 Robot Framework 实现网络自动化测试
- jasypt 配置文件加解密
- 攻防世界-MISC-练习区-06(坚持60s)
- 计算机系统:异常控制流
- 推荐系统 - 基于标签的推荐算法
- 快速计算delay函数中for循环延时程序占用的时间
- python用渐变色画圆_画圆圈和设置渐变色
- #c语言计算某年某月的天数
- Android Visca 协议控制电子云镜(Android ndk)
- NuttX 入门笔记1 STM32F4Discovery 移植
- (ZT)杜君立:紧箍咒与纸枷锁
热门文章
- 关 于 PV 操 作
- Linux下基于SDL库贪吃蛇游戏
- 哪个人工智能系统使用了神经网络算法
- python 使用xlsx和pandas处理Excel表格
- SAP Data Service 4.2 下载及安装教程
- edge java_在Windows 10上,Edge浏览器不支持插件,因此Java无法运行
- Python技术手册 · 函数的多返回值&文件操作
- Spring boot 启动报错:Unable to start web server
- 安卓开发之-编写第一个java程序HellowWorld
- python选手的最后得分_用Python进行体育竞技分析(预测球队成绩)!身家都下注了!...