【www.shanpow.com--北京】
北科大学校代码【一】:北京高校组织机构代码
北科大学校代码【二】:北科大数据结构上机题代码
《数据结构》上机题(C语言程序)
1.输入数据(设为整型)建立单链表,并求相邻两节点data值之和为最大的第一节点。 例如输入:2 6 4 7 3 0(0为结束符),建立:
所求结果=4
程序结构: 类型说明;
建表函数:Creatlist(L); 求值函数:Adjmax(L);
main( )
{ 变量说明;
调用Creatlist(L)建表;调用Adjmax(L)求值;
打印数据;释放链表空间;
Y 继续?
N
停止 }
上机题1:
#include<stdio.h>
#include<stdlib.h>
typedef int datatype; //设当前数据元素为整型
typedef struct node //节点类型
{
datatype data; //节点的数据域
struct node *next; //节点的后继指针域
}Linknode,*Link; //linknode为节点说明符,link为节点指针说明符
Link Createlist() //创建单链表的算法
{
int a,c;float b;
Link H,P,r; //H,P,r分别为表头,新节点和表尾节点指针 H=(Link)malloc(sizeof(Linknode)); //建立头节点
r=H;
do
{
c=(fflush(stdin),scanf("%f",&b)); //判断输入的是否是整数
a=(int)b;
if(c!=1||a!=b||a>-2^16||a<2^16-1) printf("非法输入!请重新输入!\n");
}while(c!=1||a!=b||a>-2^16||a<2^16-1);
while(a!=0)
{
P=(Link)malloc(sizeof(Linknode));//申请新节点
P->data=a; //存入数据
r->next=P; //新节点链入表尾
r=P;
do
{
c=(fflush(stdin),scanf("%f",&b)); //判断输入的是否是整数
a=(int)b;
if(c!=1||a!=b||a>-2^16||a<2^16-1) printf("非法输入!请重新输入!\n");
}while(c!=1||a!=b||a>-2^16||a<2^16-1);
}
r->next=NULL; //将尾节点的指针域置空
return(H); //返回已创建的头节点
}
Link Adjmax(Link H) //求链表中相邻两节点data值之和为最大的第一节点的指针的算法 {
Link p,p1,q;
int i,j;
p=p1=H->next;
if(p1==NULL) return(p1); //表空返回
q=p->next;
if(q==NULL) return(p1); //表长=1时返回
i=p->data+q->data; //相邻两节点data值之和
while(q->next)
{
p=q;q=q->next; //取下一对相邻节点的指针
j=p->data+q->data;
if(j>i)
{
p1=p;
i=j; //取和为最大的第一节点指针
}
}
return (p1);
}
void main() //主函数
{
Link A,B,p,q;
int a,b;
do
{
printf("请输入一组整数(以0为结束符,数之间回车):\n");
p=A=Createlist(); //创建新链表
B=Adjmax(A); //求链表中相邻两节点data值之和为最大的第一节点的指针
a=(int)(B->data); //取第一节点的data值
printf("第一节点的data值为:%d\n",a);
while(p->next) //释放链表空间
{
q=p;
p=p->next;
free(q);
}
free(p);
printf("是否继续输入下一组整数:是:1,否:0\n");
scanf("%d",&b);
}while(b);
}
上机题2. 实现算术表达式求值程序(栈的运用)。
设操作数:0,1,2,??,8,9(可扩充);
运算符:+,—,*,/,(,),#(#号为结束)。
输入中缀表达式,如:5+(4—2)*3 #,将其转换成后缀表达式:542—3*+#, 然后计算,本例结果为11。
程序结构: 类型说明;
两套:Clearstack(S)、Emptystack(S)、 Getstop(S) 、 Push(S)、Pop(S); 中缀到后缀转换的函数:Mid-post(E[n],B[n]);
后缀表达式求值的函数:Postcount(B[n]);
main()
{ 变量说明;
输入中缀表达式,存入E[n];
调用Mid-post(E,B);
调用Postcount(B);
打印表达式结果;
Y 继续?
N
停止 }
上机题2:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
char data;
struct node *next;
}snode,*slink;
typedef struct node1
{
int data;
struct node1 *next;
}snode1,*slink1;
void Clearstack(slink s) //置栈空
{
s=NULL;
}
int Emptystack(slink s) //判断栈是否为空
{
if(s==NULL) return(1); //栈空返回1
else return(0); //栈非空返回0
}
char Getstop(slink s) //取栈顶元素
{
if(s!=NULL) return (s->data);
return (0);
}
void Push(slink*s,char x) //元素x进栈www.shanpow.com_北科大学校代码。
{
slink p;
p=(slink)malloc(sizeof(snode)); //生成进栈p节点
p->data=x; //存入新元素
p->next=*s; //p节点作为新的栈顶链入 *s=p;
}
char Pop(slink*s) //出栈
{
char x;
slink p;
if(Emptystack(*s)) return (-1); //栈空,返回-1
else
{
x=(*s)->data;
p=*s;
*s=(*s)->next;
free(p);
return (x); //成功
}
}
void Push1(slink1*s,int x) //元素x进栈
{
slink1 p;
p=(slink1)malloc(sizeof(snode1)); //生成进栈p节点 p->data=x; //存入新元素
p->next=*s; //p节点作为新的栈顶链入 *s=p;
}
int Pop1(slink1*s) //出栈
{
int x;
slink1 p;
if(Emptystack1(*s)) return (-1); //栈空,返回-1
else
{
x=(*s)->data;
p=*s;
*s=(*s)->next;
free(p);
return (x); //成功
}
}
int Emptystack1(slink1 s) //判断栈是否为空
{
if(s==NULL) return(1); //栈空返回1
else return(0); //栈非空返回0
}
void Clearstack1(slink1 s) //置栈空
{
s=NULL;
}
int Getstop1(slink1 s) //取栈顶元素
{
if(s!=NULL) return (s->data);
return (0);
}
int Precede(char x,char y)
{
int a,b;
switch(x)
{
case '#':
//case '(':
case '(':a=0;break;
case '+':
case '-':a=1;break;
case '*':
北科大学校代码【三】:北科大MATLAB考试用参考代码
北科大MATLAB考试都是书后题稍微改动,本人再次将所有老师留过的作业里的代码整理在这,希望给后来者一点帮助哟~
··············································································
P27.1
用不同数据格式显示自然底数e的值
format short, exp(1)
ans =
2.7183
>> format long,exp(1)
ans =
2.718281828459046
>> format short e,exp(1)
ans =
2.7183e+000
>> format long e,exp(1)
ans =
2.718281828459046e+000
>> format short g,exp(1)
ans =
2.7183
>> format long g,exp(1)
ans =
2.71828182845905
>> format rat,exp(1)
ans =
1457/536
>> format hex,exp(1)
ans =
4005bf0a8b14576a
>> format +,exp(1)
ans = +
>> format bank,exp(1)
ans =
2.72
>> format compact,exp(1) ans =
2.72
>> format loose,exp(1)
ans = p6) (见书
2.72
P27.2
矩阵A=[1 2 3;4 5 6;7 8 9] ,B=[4 6 8;5 5 6;3 2 2]
A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3 4 5 6 7 8 9
B=[4,6,8;5,5,6;3,2,2]
B =
4 6 8 5 5 6 3 2 2
A*B
ans =
23 22 26 59 61 74 95 100 122
A.*B
ans =
4 12 24 20 25 36 21 16 18
P27.3
已知矩阵A=[5 2;9 1]B=[1 2;9 2]
>> A=[5,2;9,1]
A =
5 2 9 1
>> B=[1,2;9,2]
B =
1 2 9 2
>> A>B
ans =
1 0 0 0
>> A==B
ans =
0 1 1 0
>> A<B
ans =
0 0 0 1
>> (A==B)&(A<B)
ans =
0 0 0 0
>> (A==B)&(A>B)
ans =
0 0 0 0
P79.1
绘制的图像,要求用蓝色的星号画图·····
clf;
x=0:pi/50:4*pi;
y1=exp(x/3).*sin(3*x);
y2=exp(x/3);
y3=-exp(x/3);
plot(x,y1,'b*',x,y2,'r-.',x,y3,'r-.'),grid on
legend('y1=exp(x/3).*sin(3*x)','y2=+-exp(x/3)')
p79.3
在同一图形窗口画图要求使用指令 gtext,axis,legend,title,xlabel,ylabel
clf;
x1=-pi:pi/50:pi;
x2=pi:pi/50:4*pi;
x3=1:0.1:8;
y1=x1.*cos(x1);
y2=x2.*tan(x2.^(-1)).*sin(x2.^3);
y3=exp(x3.^(-1)).*sin(x3);
subplot(2,2,1);plot(x1,y1,'m.');grid on;title('y=x*cosx');xlabel('x??0‰0¨¢');ylabel('y??0‰0¨¢'); gtext('y=x*cosx');legend('y=x*cosx');
subplot(2,2,2);plot(x2,y2,'r*');grid on;title('y=x*tan(1/x)*sin(x^3)')
gtext('y=x*tan(1/x)*sin(x^3)');legend('y=x*tan(1/x)*sin(x^3)');subplot(2,2,3);plot(x3,y3,'bp');grid on;title('y=e(1/x3)*sinx');xlabel('x??0‰0¨¢');ylabel('y??0‰0¨¢');
gtext('y=e(1/x3)*sinx');legend('y=e(1/x3)*sinx')
p79.5
绘制圆锥曲线的图像并加各种标注···
t=0:pi/50:20*pi;
x=t.*cos(t*pi/6);
y=t.*sin(t*pi/6); z=2*t;
plot3(x,y,z)
(标注见上一题)
P79.7
用mesh和surf命令 绘制三维曲面的图像···
t=-1:0.1:1;
[x,y]=meshgrid(t);
z=x^2+3*y^2;
subplot(1,2,1),mesh(x,y,z),colormap(bone),light('position',[20,20,5]); subplot(1,2,2),surf(x,y,z),colormap(cool)
p79.8
绘制由函数=1形成的立体图···
[xx,yy,zz]=sphere(40);
x=xx*2;y=yy*3;z=zz*4;
subplot(2,2,1),surf(x,y,z);
subplot(2,2,2),surf(x,y,z);view(0,90)www.shanpow.com_北科大学校代码。
subplot(2,2,3),surf(x,y,z);view(90,0)
subplot(2,2,4),surf(x,y,z);view(0,0)
p79.9
画三维曲面z=与平面x=3的交线
t=-2:0.1:2;
[x,y]=meshgrid(t);
z1=5-x.^2-y.^2;
subplot(1,3,1),mesh(x,y,z1),title('?ú??z1=5-x.^2-y.^2'); z2=3*ones(size(x));
subplot(1,3,2),mesh(x,y,z2),title('????z=3');
r0=abs(z1-z2)<=1;
zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3);
subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.'),title(交线') p114.12
随机输入一个6阶方阵
a=rand(6);
a'
det(a)
rank(a)
rref(a)
p114.14
求矩阵A=[2 1 1;1 2 1;1 1 2]的特征多项式、特征值、特征向量 a=[2 1 1;1 2 1;1 1 2];
poly(a)
d=eig(a)www.shanpow.com_北科大学校代码。
[V,D]=eig(a)
P115.21.(1)
求线性方程组通解
A=[1 1 2 -1;-1 1 3 0;2 -3 4 -1];
rref(A)
分析过程为
原方程组等价于
x1=0.56x4
x2=0.2x4
x3=0.12x4
取x4=1则x1=0.56,x2=0.2,x3=0.12
基础解系为ξ=[0.56 0.2 0.12 1]
所以通解为[x1 x2 x3 x4]=[0.56 0.2 0.12 1]
P115.21.(2)
B=[1 -1 -1 1 0;1 -1 1 -3 1;1 -1 -2 3 -1/2];
rref(B)
分析过程为
原方程组等价于
X1=x2+x4+0.5
X3=2x4+0.5
其中一个特解为k=[0.5 0 0.5 0]
对应的其次线性方程组为
X1=x2+x4
X3=2x4
基础解系为ξ1=[1 1 0 0] ξ2=[1 0 2 1]
所以通解为x=c1*ξ1+c2*ξ2+k
P130.8
在钢线含碳量对于电阻的效应的研究中,得到以下数据 x=[0.10 0.30 0.4 0.55 0.70 0.80 0.95];
y=[15 18 19 21 22.6 23.8 26];
p1=polyfit(x,y,1);
p3=polyfit(x,y,3);
p5=polyfit(x,y,5);
disp('一次拟合函数'),f1=poly2str(p1,'x')
disp('三次拟合函数'),f1=poly2str(p3,'x')
disp('五次拟合函数'),f1=poly2str(p5,'x')
x1=0.10:0.01:0.95;
y1=polyval(p1,x1);
y3=polyval(p1,x1);
y5=polyval(p1,x1);
plot(x1,y1,'rp',x1,y3,'--',x1,y5);
legend('一次拟合','三次拟合','五次拟合')
p130.10
在某种添加剂的不同浓度下对铝合金进行抗拉强度试验 x=10:5:30;
y=[25.2 29.8 31.2 31.7 29.4];
x1=10:1:30;
y1=interp1(x,y,x1,'nearest');
y2=interp1(x,y,x1,'linear');
北科大学校代码【四】:北京科技大学历史沿革简介与历届历任校
北京科技大学历史沿革简介与历届历任
校(院)长介绍
北京科技大学简单介绍
北京科技大学(简称"北科大")地址:北京市海淀区学院路30号,学校原隶属国家冶金工业部,后划归教育部直属高校,现已发展为以工为主,工、理、管、文、经、法等多学科协调发展的教育部直属全国重点大学。
北京科技大学历史沿革
1952年,院系调整,天津大学(原国立北洋大学,冶金系、采矿系、金属矿组)、唐山交通大学(工科部分系)、清华大学工学院少量专业、西北工学院(工科部分系)、山西大学(冶金工程系)、北京工业学院(原华北大学工学院,其冶金、采矿、钢铁机械类专业)组建北京钢铁工业学院。 1960年,更名北京钢铁学院。 1988年,更名北京科技大学。 1998年,北京冶金管理干部学院并入。 1984年,创建北京冶金管理干部学院。
北京科技大学设置极其所有专业
北京科技大学设有土木与环境工程学院;冶金与生态工程学院;材料科学与工程学院;机械工程学院;自动化学院;计算机与通信工程学院;东凌经济管理学院;文法学院;数理学院;化学与生物工程学
院;外国语学院;马克思主义学院;研究生院;体育部;天津学院;继续教育学院等教学单位。
现任北京科技大学校(院)长:徐金梧。 国际代码北京科技大学历任校(院)长:
张文奇:(1979年2月至1983年10月任北京钢铁学院院长);王 润:(1983年10月至1990年10月任北京钢铁学院院长);李静波:(1990年10月至1993年3月任北京科技大学校长);杨天钧:(1993年3月至2004年6月任北京科技大学校长);徐金梧:(2004年6月至今任北京科技大学校长)。
本文来自:/beijing/yangb/bjkjdx.html 由 整理上传