① 上机是什么意思
登陆电脑的意思。
② 数据结构上机怎么上
数据结构一般都和算法联系在一起的。
先选好你所用的语言。任一种你掌握的,然后用该语言的代码实现就可以了。你可以这样考虑,该程序输入是什么,期望的输出是什么,然后对照自己实际完成的代码。现在有很有数据结构实现的书籍,可以找来参考下。
③ 数据结构上机题答案
一、选择题 2012年数据结构期末考试题及答案
1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理
4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
6.以下说法正确的是 D 。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
8.下面程序段的时间复杂度是 O(n2) 。
s =0;
for( I =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
9.下面程序段的时间复杂度是 O(n*m) 。
for( i =0; i<n; i++)
for(j=0;j<m;j++)
A[i][j] = 0;
10.下面程序段的时间复杂度是 O(log3n) 。
i = 0;
while(i<=n)
i = i * 3;
11.在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等。
④ 数据结构上机作业
#include<stdio.h>
struct person
{
char name[8];
char tel[15];
char addr[50];
};
char filename[20]="E:\\txl.txt";
FILE *fp;
void creat();
void output();
void search();
void append();
void modify();
void delete();
main( )
{
int m;
creat();
while(1)
{
printf("\n\t\t*********欢迎使用通讯录信息管理系统*********\n\n");
printf("\n\t\t添加,请按1");
printf("\n\t\t查找,请按2");
printf("\n\t\t修改,请按3");
printf("\n\t\t删除,请按4");
printf("\n\t\t输出,请按5");
printf("\n\t\t退出,请按0\n");
printf("\n\t\t********************************************\n\n");
printf("Please select(0--5):");
scanf("%d",&m);
if(m>=0&&m<=5)
{
switch(m)
{
case 1: append();
break;
case 2: search();
break;
case 3: modify();
break;
case 4: delete();
break;
case 5: output();
break;
case 0: exit();
}
printf("\n\n操作完毕,请再次选择!");
}
else
printf("\n\n选择错误,请再次选择!");
}
}
/*输入模块creat( ): 创建通讯录的子函数。*/
void creat()
{
struct person one;
long s1;
/*printf("\n请输入通讯录文件名:");
scanf("%s",filename); */
if((fp=fopen(filename,"at+"))==NULL)
{
printf("\n不能建立通讯录!");
exit();
}
fprintf(fp,"%-10s%-20s%-50s\n","姓名","电话号码","住址");
printf("\n请输入姓名、电话号码及住址(以0结束)\n");
scanf("%s",one.name);
while(strcmp(one.name,"0"))
{
scanf("%s%s",one.tel,one.addr);
fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);
scanf("%s",one.name);
}
fclose(fp);
}
/*输出模块output( ):输出通讯录中联系人通讯信息的子函数*/
void output()
{
struct person one;
if((fp=fopen(filename,"r"))==NULL)
{
printf("\n不能打开通讯录!");
exit();
}
printf("\n\n%20s\n","通 讯 录");
while(!feof(fp))
{
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
printf("%-10s%-20s%-50s",one.name,one.tel,one.addr);
}
fclose(fp);
}
/*添加模块append( ):向通讯录中添加某人通讯信息的子函数*/
void append()
{
struct person one;
if((fp=fopen(filename,"a"))==NULL)
{
printf("\n不能打开通讯录!");
exit();
}
printf("\n请输入添加的姓名、电话号码及住址\n");
scanf("%s%s%s",one.name,one.tel,one.addr);
fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);
fclose(fp);
}
/*查找模块search( ):在通讯录中查找某人通讯信息的子函数*/
void search()
{
int k=0;
char namekey[8];
struct person one;
printf("\n请输入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("\n不能打开通讯录!");
exit();
}
while(!feof(fp))
{
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
printf("\n\n已查到,记录为:");
printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);
k=1;
}
}
if(!k)
printf("\n\n对不起,通讯簿中没有此人的记录。");
fclose(fp);
}
/*修改模块modify( ):在通讯录中修改某人通讯信息的子函数*/
void modify()
{
int m,k=0;
long offset;
char namekey[8];
struct person one;
printf("\n请输入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\n不能打开通讯录!");
exit();
}
while(!feof(fp))
{
offset=ftell(fp);
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
k=1;
break;
}
}
if(k)
{
printf("\n已查到,记录为:");
printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);
printf("\n请输入新姓名、电话号码及住址:");
scanf("%s%s%s",one.name,one.tel,one.addr);
fseek(fp,offset,SEEK_SET);
printf("%ld",ftell(fp));
fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);
}
else
printf("\n对不起,通讯录中没有此人的记录。");
fclose(fp);
}
/*删除模块delete( ):在通讯录中删除某人通讯信息的子函数*/
void delete()
{
int m,k=0,flag;
long offset1,offset2;
char namekey[8], valid[4];
struct person one;
printf("\n请输入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\n不能打开通讯录!");
exit();
}
while(!feof(fp))
{
offset1=ftell(fp);
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
k=1;
break;
if(k)
{
printf("\n已查到,记录为");
printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);
printf("\n确实要删除,按1;不删除,按0:");
scanf("%d",&m);
if(m)
{
fseek(fp,offset1,SEEK_SET);
fprintf(fp,"%-10s%-20s%-50s\n","","","");
}
else
printf("\n对不起,通讯录中没有此人的记录。");
fclose(fp);
}
}
}
}
#include"iostream.h"
#include"math.h"
#include"stdlib.h"
class Calculator
{
public:
//接口方法声明
void Run();
private:
//辅助函数
bool IsOperator(char ch);//判断字符ch是否为操作符
char Precede(char theta1,char theta2);//判断相继出现的theta1和theta2的优先级
double Operate(double left,char theta,double right,int[] &a);//执行运算letf theta right
void Get2Operands(LinkStack<double>&opnd,double &left,double &right);
//从栈opnd中退出两个操作数
};
void Calculator::Get2Operands(LinkStack <double>&opnd,double &left,double &right)
{
}
bool Calculator:: IsOperator(char ch)
{
char ch;
cin>>ch;
if(ch=='+'||ch=='-'||ch=='*'||ch=='/'ch=='('ch==')'||ch=='=')
return true;
else
return false;
}
char Calculator:: Operate(double left,char theta,double right)
{ double result;
switch(theta)
{
case'+':result=left+right;break;
case'-':result=left-right;break;
case'*':result=left*right;break;
case'/':result=left/right;break;
}
return result;
}
char Calculator:: Precede(char theta1,char theta2)
{
char ch;
switch(theta1)
{
case'+':
case'-':
{
switch (theta2)
{
case'+':
case'-':
case')':
case'=':
ch='>';
break;
case'*':
case'/':
case'(':
ch='<';
break;
}
break;
}
case'*':
case'/':
{
if(theta2=='(')
ch='<';
else
ch='>';
break;
}
case'(':
{
if(theta2==')')
ch='=';
else ch='<';
break;
}
case')':
{
ch='>';
break;
}
case'=':
{
if(theta2=='=')
ch='=';
else
ch='<';
break;
}
}
return ch;
}
//方法Run()算法实现如下
void Calculator::Run()
{//操作结果:按算符优先法进行表达式求值计算
LinkStack<double> opnd; //操作数栈
LinkStack<char>optr; //操作符栈
optr.push('='); //在optr栈中加入一个'='
char ch; //临时字符
char optrTop; //临时optr栈栈顶字符
double operand; //操作数
char theta; //操作符
cin>>ch; //从输入流获取一字符ch
while((optr.Top(optrTop),optrTop!='=')||ch!='=')
{
if(!IsOperator(ch))
{//ch不是操作字符
cin.putback(ch); //将字符放ch回输入流
cin>>operand; //读操作数operand
opnd.Push(operand); //进入opnd栈
cin>>ch; //读入下一字符ch
}
else
{//ch是操作符
switch(Precede(optrTop,ch))
{
case'<':
optr.Push(ch);
cin>>ch;
break;
case'=':
optr.Pop(optr Top);
cin>>ch;
break;
case'>':
double left,right;
Get2Operands(opnd,left,right);
optr.Pop(theta);
opnd.Push(Operate(left,theta,right));
break;
case'e':
cout<<"操作符匹配出错"<<endl;
exit(2);
}
}
}
opnd.Top(operand);
cout<<"表达式值为:"<<operand<<endl;
}
void main(void)
{
system("pause");
return 0;
}
⑤ 2017年军工混改与大上机有关的股票
600592
⑥ 数据结构怎么上机
数据结构,就是告诉你如何解决实际问题:把问题转化成数据结构问题。
这门课要教给你思想和模型,并不是要你编程,之所以要有basic和c版本就是说可以通过任何语言来实现这样的数据结构。
这们课对于学软件非常重要,建议把里面的数据结构都用一种语言(比如说c)给编出来。这样的程序是上不了机的,同学之间交流一下就可以了。
⑦ 计算机三级考试数据库上机考的是什么题型
题型为选择题,填空题,设计与应用题。
三级数据库技术上机考试,120分钟,满分100分。选择题40分,填空题30分,设计与应用题30分;三级数据库技术证书为深蓝暗紫色。
自2018年3月考试起改变三级获证条件要求,考生只需通过三级考试即可获得该三级科目的合格证书,不再要求二级证书。考生早期获得的证书,不严格区分语言程序设计和数据库程序设计,可以直接报考三级。考试时间和形式要求三级考试时间为120分钟;考试形式为无纸化。
(7)上机数据股票扩展阅读:
计算机三级考试要求规定:
1、考生不受年龄、职业、学历等背景的限制,均可根据自己学习情况和实际能力选考相应的级别和科目。
2、考生在考点现场报名时,需出示身份证以及缴纳相关的考试费。考生一定要亲自到场,不能由任何单位、个人代劳。考生按要求进行信息采集,并逐一核实报名表上的个人信息。
3、考生采取网上报名方式,需先在所在省份的网上报名系统注册并填报相关基本信息、上传正面免冠电子近照,然后网上缴费或至指定地点缴费并确认身份信息,完成报名。
⑧ 数据结构上机编程(单链表的基本操作)
void main()
{ int a[10]={12,14,15,11,19,30,20,9,4,44};/*生成数组*/
int i,e;
struct node *l,*s,*p;
l=(struct node*)malloc(sizeof(struct node));
if(!l) printf("Error!\n");
l->next=NULL;/*初始化空链表*/
while(i<10)
{
e=a[i];
insert(l,e);
}/*依次将数组读入,生成一个升序的单链表*/
//对单链表实现就地逆置
template <class T>
void mylist<T>::Invert()//翻转
{
if ( IsNull() || ncount == 1) return;
listnode<T>* m,* n;
m = first;
while (m!=NULL)
{
listnode<T>* r = n;
n = m;
m = m->link;
n->link = r;
}
first = n;
}
printf("please insert a int number(-32768~32767):");
scanf("%d",&e); /*从键盘输入一个数据*/
insert(l,e);/*插入到链表的适当位置,并保持链表的有序性*/
output(l);/*打印单链表*/
}