内蒙古大学892程序设计与数据结构-2016年真题解析(C语言版)-创新互联
1、某函数原型为int MySum(int m,int n); 其功能是求两个正整数参数m到n之间(包括m和n)所有偶数的和。例如MySum(3,10)的返回值为28。请给出该函数的实现代码。(15分)
沿河网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。#include "stdio.h"
int MySum(int m,int n)
{int sum=0;
while(m<=n)
{if(m%2==0)
sum+=m;
m++;
}
return sum;
}
void main()
{printf("%d\n",MySum(3,10));
}
2、编写程序,求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+…,最后一项的值小于1e-6。(15分)
#include "stdio.h"
#include "math.h"
void main()
{double e=1,k=1,m=1; //m 表示分母,k表示第n项
int i=1;
while(k>=pow(10.0,-6))
{m=m*i;
k=1/m;
e+=k;
i++;
}
printf("%lf\n",e);
}
3、编写程序,从键盘输入正整数n(n不大于20),打印一个n层的杨辉三角形。例如从键盘输入4,则输出如下图形:
1
1 1
1 2 1
1 3 3 1 (15分)
#include "stdio.h"
void main()
{int n,i,j,k,a[20][20];
scanf("%d",&n);
for(i=0;ifor(k=0;k
4、编写一个函数,功能是对矩阵进行处理。对于一个mxn矩阵,执行函数后使其每行元素的大小按照升序排列。(15分)
#include "stdio.h"
#define M 3
#define N 4
void sort(int a[M][N])
{int temp;
for(int i=0;ifor(int j=0;ja[i][k])
{temp=a[i][j];
a[i][j]=a[i][k];
a[i][k]=temp;
}
}
}
void main()
{int a[M][N];
for(int i=0;ifor(int j=0;j
5、采用递归思想,设计并实现一个函数,其功能是将正整数参数n,由低位到高位倒序输出。例如n为4892,则输出2984。(15分)
#include "stdio.h"
int reverse(int n)
{printf("%d",n%10);
n/=10;
if(n==0)
return 1;
else
return reverse(n);
}
void main()
{int n;
scanf("%d",&n);
reverse(n);
}
6、编写程序,从键盘输入一个字符串,内有数字和非数字字符,如 xy12ab93?5786$,连续的数字成为一个整数。例如:上述字符串中有3个整数: 12、93和5786。统计字符串中有多少个整数,并依次输出。(15分)
#include "stdio.h"
void main()
{char str[20];
int i=0,num=0,z=0;
gets(str);
while(str[i]!='\0')
{if(str[i]<'0'||str[i]>'9')
{ i++;
continue;
}
while(str[i]>='0'&&str[i]<='9')
{ z=z*10+(str[i]-'0');
i++;
}
printf("%d\n",z);
num++;
z=0;
i++;
}
printf("%d\n",num);
}
二、分析与解答 (本大题6小题,每小题10分,共60分)- 近年内蒙古大学892试卷数据结构部分的题型变化较大,以下题目基本无参考价值,故不在给出具体解答,有兴趣的同学可以自己练习。
1、线性表有两种存储结构: 一种是顺序表,一种是链表。请比较二者的差异与优缺点。(10分)
2、总盘数为n的Hanoi塔(汉诺塔)需要移动多少次?假设三根柱子分别为A、B、C,最初有4个盘子都在A柱,大盘在下、小盘在上依次放置。请给出将4个盘子按照Hanoi塔的游戏规则全部移动到C柱的操作序列。(10分)
3、已知一棵完全二叉树有892个节点,请计算:
(1)树的高度
(2)叶子节点个数
(3)单支节点个数
(4)最后一个非终端节点的序号
(10分)
4、设有一堆栈,其入栈和出栈操作分别为PUSH和POP。现有三个元素a、b、c将依次进伐。请列出所有可能的出栈序列和获得该出栈序列的操作过程。(10分)
5、设有n个元素采用冒泡法进行排序,通常需要进行多少趟排序?对于第i趟冒泡通常需要进行多少次关键字比较?在程序设计中如何设置判断条件,有可能使冒泡趟数减少并且能完成排序。(10分)
6、结定一个n个元素的整数数组A,A中连续的相等元素所形成的数据区域成为“块”。请设计算法,求A中大块的长度。(10分)
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文标题:内蒙古大学892程序设计与数据结构-2016年真题解析(C语言版)-创新互联
当前链接:http://azwzsj.com/article/decsoj.html