① 上機是什麼意思
登陸電腦的意思。
② 數據結構上機怎麼上
數據結構一般都和演算法聯系在一起的。
先選好你所用的語言。任一種你掌握的,然後用該語言的代碼實現就可以了。你可以這樣考慮,該程序輸入是什麼,期望的輸出是什麼,然後對照自己實際完成的代碼。現在有很有數據結構實現的書籍,可以找來參考下。
③ 數據結構上機題答案
一、選擇題 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);/*列印單鏈表*/
}