浙大計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案



《浙大計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《浙大計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案(84頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 浙江大學(xué)計(jì)算機(jī)復(fù)試上機(jī) 2005-2007 (由林子整理 ) 2005 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案 (1/5) 第一題: A+B(10 分) [ 結(jié)題 ] 題目要求:讀入兩個(gè)小于 100 的正整數(shù) A和 B,計(jì)算 A+B。 需要注意的是: A和 B的每一位數(shù)字由對(duì)應(yīng)的英文單詞給出。 輸入格式:測(cè)試輸入包含若干測(cè)試用例, 每個(gè)測(cè)試用例占一行,格式為 "A + B =" ,相鄰兩字符串有一個(gè)空格間隔。當(dāng) A和 B 同時(shí)為 0 時(shí)輸入
2、結(jié)束,相應(yīng)的結(jié)果不要輸出。 輸出格式:對(duì)每個(gè)測(cè)試用例輸出 1 行,即 A+B的值。 輸入樣例: one + two = three four + five six = zero seven + eight nine = zero + zero = 輸出樣例: 3 90 96 #include <> #include <> #include <>
3、 #include <> int main(void) { const char data[12][6] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "+", "="}; unsigned a, b; /* 轉(zhuǎn)換后的表達(dá)式參數(shù) , 如 a+b(123+456)
4、 */ unsigned i, j, k; /* 臨時(shí)變量,作為下標(biāo) */ char str[100]; /* 輸入字符串,足夠大容量 */ char temp[6]; /* 臨時(shí)字符串,用于檢索數(shù)字,如 "one"->1 */ char result[30]; /* 轉(zhuǎn)換后的表達(dá)式參數(shù),如 "123+456=" */ do{ a =
5、 b = i = j = k = 0; /* 初始化變量 */
memset(str, 0, sizeof(str));
memset(temp, 0, sizeof(temp));
memset(result, 0, sizeof(result));
gets(str); /* 獲取輸入字符串,不能使用 scanf ,因?yàn)?
有空格 */
for(i=0, k=0; i 6、&&i 7、
result[k++] = j + 0;
result[k++] = +;
result[k++] = =;
break;
/*
找到匹配數(shù)字就不必再搜索了
*/
}
}
result[k] = 0; /*
字符串結(jié)束標(biāo)記,
result
形式
"123+456=" */
sscanf(result," 8、%d+%d=",&a,&b);
/*
用
sscanf
來獲
得
a,b
的值
*/
if( a==0 && b==0 ) break; /* A,B 同時(shí)為零則退出
程序 */
else printf("%d\n", a + b); /* 打印輸出 A + B 的
數(shù)值 */
}while(1);
return 0;
}
9、
2005 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案
(2/5)
第二題:誰是開門關(guān)門的人( 10 分)
題目要求:每天第一個(gè)到機(jī)房的人要把門打開,最后一個(gè)離開的人要把門關(guān)好。現(xiàn)有一堆雜亂的機(jī)房簽到、簽離記錄,請(qǐng)根據(jù)記錄找出當(dāng)天開門和關(guān)門的人。
輸入格式:測(cè)試輸入的第一行給出記錄的總天數(shù) N ( > 0 ) 。
下面列出了 N天的記錄。
每天的記錄在第一行給出記錄的條目數(shù) M ( > 0 ) ,下面是 10、 M
行,每行的格式為
證件號(hào)碼 簽到時(shí)間 簽離時(shí)間
其中時(shí)間按“小時(shí) : 分鐘 : 秒鐘”(各占 2 位)給出,證件號(hào)碼是長度不超過 15 的字符串。
輸出格式:對(duì)每一天的記錄輸出 1 行,即當(dāng)天開門和關(guān)門人的證件號(hào)碼,中間用 1 空格分隔。
注意:在裁判的標(biāo)準(zhǔn)測(cè)試輸入中,所有記錄保證完整,每個(gè)人的簽到時(shí)間在簽離時(shí)間之前,
且沒有多人同時(shí)簽到或者簽離的情況。
輸入樣例:
3
1
ME25321 00:00:00 23:59 11、:59
2
EE301218 08:05:35 20:56:35
MA301134 12:35:45 21:40:42
3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40
輸出樣例:
ME25321 ME25321
EE301218 MA301134
SC3021234 12、 CS301133
#include <>
#include <>
#include <>
typedef struct
{
char id[16]; /* 證件號(hào)碼長度不超過 15 位 */
char cometime[9]; /* 時(shí)間格式 00:00:00 */
char leavetime[9]; /* 時(shí)間格式 00:00:00 */
}Record;
int main()
{ 13、
int N, M, i; /* 記錄的總天數(shù) N,每天記錄的條目數(shù) M */
Record *pTimeList;/* 記錄該天出入人員的證件號(hào)碼、 進(jìn)入
時(shí)間、離開時(shí)間 */
int first, last; /* 記錄每天開門的人和關(guān)門的人 */
scanf("%d",& N); /* 讀入記錄的總天數(shù) */
while(N--)
{
scanf("%d", & M); /* 讀入該天的進(jìn)出人員數(shù) */
pTimeList = (Re 14、cord *)malloc(M*sizeof(Record));
for(i=0,first=0,last=0; i 15、st[i]etime ) > 0 )
first = i;
if( strcmp( pTimeList[last].leavetime, pTimeList[i].leavetime) < 0)
last = i;
}
} /* for i */
printf("%s %s\n", pTimeList[first].id,
pTimeList[last].id);
free(pTimeList);
} /* for N */
16、
}
2005 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案
(3/5)
第三題:分?jǐn)?shù)統(tǒng)計(jì)( 12 分)
題目要求:今天的上機(jī)考試雖然有實(shí)時(shí)的 Ranklist ,但上面的排名只是根據(jù)完成的題數(shù)排序,沒有考慮每題的分值,所以并不是最后的排名。給定錄取分?jǐn)?shù)線,請(qǐng)你寫程序找出最后通過分?jǐn)?shù)線的考生,并將他們的成績按降序打印。
輸入格式:測(cè)試輸入包含若干場考試的信息。每場考試信息的
第 1 行給出考生人數(shù) N ( 0 < N < 100 17、0 ) 、考題數(shù) M ( 0 < M <
= 10) 、分?jǐn)?shù)線(正整數(shù)) G;第 2 行排序給出第 1 題至第 M題
的正整數(shù)分值;以下 N行,每行給出一名考生的準(zhǔn)考證號(hào)(長度不超過 20 的字符串)、該生解決的題目總數(shù) m、以及這 m道題的題號(hào)(題目號(hào)由 1 到 M)。
當(dāng)讀入的考生人數(shù)為 0 時(shí),輸入結(jié)束,該場考試不予處理。
輸出格式:對(duì)每場考試,首先在第 1 行輸出不低于分?jǐn)?shù)線的考生人數(shù) n,隨后 n 行按分?jǐn)?shù)從高到低輸出上線考生的考號(hào)與分?jǐn)?shù),其間用 1 空格分隔。若有多名考生分?jǐn)?shù)相同,則按他們考號(hào)的升序輸出。
18、
輸入樣例:
4 5 25
10 10 12 13 15
CS004 3 5 1 3
CS003 5 2 4 1 3 5
CS002 2 1 2
CS001 3 2 3 5
1 2 40
10 30 CS001 1 2
2 3 20
10 10 10
CS000000000000000001 0
CS000000000000000002 2 1 2
0
19、
輸出樣例:
3
CS003 60
CS001 37
CS004 37
0
1
CS000000000000000002 20
#include <>
#include <>
#include <>
typedef struct
{
char id[21]; /* 準(zhǔn)考證號(hào) (<=20 字符 ) */
int score 20、; /* 該考生總分 */
}StuInfo;
int main()
{
int N, M, G, n; /* 考生人數(shù),題目數(shù),分?jǐn)?shù)線,
上線考生數(shù)量 */
int *pMarkList; /* 第 1 題至第 M題的正整數(shù)分值
*/
StuInfo *pStuinfo; /* 考生信息 */
int i,j,k,a,b,c,m; /* 臨時(shí)變量 */
StuInfo tmp; /* 用于排序 */
while 21、( scanf("%d", &N ) && N!=0 ) /* 讀入考生人
數(shù) N */
{
scanf("%d%d", &M, &G); /* 讀入題目
數(shù)量和分?jǐn)?shù)線 */
pMarkList = (int
*)malloc(M*sizeof(int)); /* M 道題目的分?jǐn)?shù) */
pStuinfo = (StuInfo
*)malloc(N*sizeof(StuInfo)); /* N 個(gè)考生 */
for(i=0; i 22、 讀入 M題每題分?jǐn)?shù)
*/
scanf("%d", & (pMarkList[i]) );
for(i=0, n=0; i 23、
{
scanf("%d", & a );
/* 讀入答對(duì)題的題號(hào) */
pStuinfo[n].score +=
pMarkList[ a-1 ]; /* 因?yàn)轭}號(hào)是從 1 開始的;計(jì)算該考生的
總分 */
}
if(pStuinfo[n].score >= G) /*
如果考生上線則記錄下來 */
n++;
/* 否則不予記錄,便于排序 */
}
for(i=0; i 24、,對(duì)上
線考生先按分?jǐn)?shù)排序,降序 */
{
for(k=i, j=i+1; j 25、考證號(hào)排序 */
{
/* 統(tǒng)計(jì)相同分?jǐn)?shù)考生人數(shù) k */
for(k=1,j=i+1; j 26、
{
for(c=a, b=a+1; b<=i+k;
b++)
if(strcmp(pStui
nfo[c].id, pStuinfo[b].id) > 0)
c = b;
tmp = pStuinfo[a];
pStuinfo[a] =
pStuinfo[c];
pStuinfo[c] = tmp;
}
}
printf("%d\n",n); /* 排序完畢,按照要求
輸出,上線人數(shù) */
27、
for(i=0; i 28、/5)
第四題:最大連續(xù)子序列( 13 分)
題目要求:給定 K 個(gè)整數(shù)的序列 { N1, N2, ..., NK } ,其任意
連續(xù)子序列可表示為 { Ni, Ni+1, ...,Nj } ,其中 1 <= i <= j
<= K。最大連續(xù)子序列是所有連續(xù)子序列中元素和最大的一個(gè),
例如給定序列 { -2, 11, -4, 13, -5, -2 } ,其最大連續(xù)子序
列為 { 11, -4, 13 } ,最大和為 20。在今年的數(shù)據(jù)結(jié)構(gòu)考卷中,
要求編寫程序得到 29、最大和,現(xiàn)在增加一個(gè)要求,即還需要輸出該子序列的第一個(gè)和最后一個(gè)元素。
輸入格式:測(cè)試輸入包含若干測(cè)試用例, 每個(gè)測(cè)試用例占 2 行,
第 1 行給出正整數(shù) K( < 10000) ,第 2 行給出 K個(gè)整數(shù),中間用空格分隔。當(dāng) K 為 0 時(shí),輸入結(jié)束,該用例不被處理。
輸出格式:對(duì)每個(gè)測(cè)試用例,在 1 行里輸出最大和、最大連續(xù)子序列的第一個(gè)和最后一個(gè)元素,中間用空格分隔。如果最大連續(xù)子序列不唯一,則輸出序號(hào) i 和 j 最小的那個(gè)(如輸入樣例的第 2、3 組)。若所有 K 個(gè)元素都是負(fù)數(shù),則定義其最大和
為 0,輸出整個(gè)序列的首尾元素 30、。輸入樣例:
6
-2 11 -4 13 -5 -2
10
-10 1 2 3 4 -5 -23 3 7 -21
6
5 -8 3 2 5 0
1
10
3
-1 -5 -2
3
-1 0 -2
0
輸出樣例:
20 11 13
10 1 4
10 3 5
31、
10 10 10
0 -1 -2
0 0 0
#include <>
#include <>
#include <>
int main()
{
long int K, last; /* 輸入數(shù)據(jù)個(gè)數(shù) K<1000;最大子序
列最后一個(gè)元素的下標(biāo) last */
long int ThisSum, MaxSum, TmpMaxSum, index, *pList;
while( scanf("%d 32、", &K) && K )
{
ThisSum = 0;
MaxSum = TmpMaxSum = last = LONG_MIN;
pList = (long int *)malloc( K * sizeof(long int) );
for(index = 0; index < K; index++)
{
scanf( "%d", & (pList[index]) );
ThisSum += pList[index];
i 33、f(ThisSum > MaxSum) /* 輸入含有正數(shù)時(shí),忽略最大
子序列中首尾 0 的影響 */
{
MaxSum = ThisSum;/* 更新 MaxSum */
if( MaxSum > TmpMaxSum ) /* 最大值更新時(shí),更新
最大子序列最后的數(shù)字 */
{ /* 保證最大子序列起始位置在輸入串的最前面
*/
TmpMaxSum = MaxSum;
last = index;
}
}
34、
if( ThisSum < 0 ) ThisSum = 0;
}
/* trace back to find first number of the max subsequence */
for( TmpMaxSum= 0, index = last; index >= 0; index-- )
{
TmpMaxSum += pList[index];
if(TmpMaxSum == MaxSum)
break;
}
if( Max 35、Sum< 0 ) /* K個(gè)數(shù)字都是負(fù)數(shù),定義最大和為 0,
輸出首尾元素 */
printf("%ld %ld %ld\n", 0, pList[0], pList[K-1]);
else
printf("%ld %ld %ld\n", MaxSum, pList[index], pList[last] );
free(pList);
}
return 0;
}
20 36、05 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案
(5/5)
第五題:暢通工程( 15 分)
題目要求:某省調(diào)查城鎮(zhèn)交通狀況, 得到現(xiàn)有城鎮(zhèn)道路統(tǒng)計(jì)表,表中列出了每條道路直接連通的城鎮(zhèn)。省政府“暢通工程”的目標(biāo)是使全省任何兩個(gè)城鎮(zhèn)間都可以實(shí)現(xiàn)交通(但不一定有直接的道路相連,只要互相間接通過道路可達(dá)即可)。問最少還需要建設(shè)多少條道路
輸入格式:測(cè)試輸入包含若干測(cè)試用例。每個(gè)測(cè)試用例的第 1 行給出兩個(gè)正整數(shù),分別是城鎮(zhèn)數(shù)目 N ( < 1000 ) 和道路數(shù)目M;隨后的 M行對(duì)應(yīng) M條道路, 37、每行給出一對(duì)正整數(shù), 分別是該
條道路直接連通的兩個(gè)城鎮(zhèn)的編號(hào)。為簡單起見,城鎮(zhèn)從 1 到
N編號(hào)。當(dāng) N為 0 時(shí),輸入結(jié)束,該用例不被處理。
輸出格式:對(duì)每個(gè)測(cè)試用例,在 1 行里輸出最少還需要建設(shè)的
道路數(shù)目。
輸入樣例:
4 2
1 3
4 3
3 3
1 2
2 3
5 2
1 2
3 5
999 0
0
38、
輸出樣例:
1
0
2
998
#include 39、
visited[a]=1;
for(i=1;i<=n;i++)
if (connect[a][i]==1 && visited[i]==0)
dfs(i);
return(0);
}
int main(int argc, char* argv[])
{
int i,j,a,b,count = -1;
int numtown,numroad;
while(cin>>numtown && numtown!=0 40、){
cin>>numroad;
n = numtown;
for(i=1;i<=numtown;i++)
for(j=1;j<=numtown;j++)
connect[i][j] = 0;
for(i=1;i<=numtown;i++)
visited[i] = 0;
for(i=1;i<=numroad;i++)
{
cin>>a>>b;
connect[a][b] = connect 41、[b][a] = 1;
}
for(j=1;j<=numtown;j++)
connect[i][j] = 0;
for(i=1;i<=numtown;i++)
visited[i] = 0;
for(i=1;i<=numroad;i++)
{
cin>>a>>b;
connect[a][b] = connect[b][a] = 1;
}
for(i=1;i<=numtown;i++)
42、
if (visited[i]==0)
{
dfs(i);
count++;
}
cout< 43、果 A和 B 的末尾 K(不超過 8)位數(shù)字相同,請(qǐng)直接輸出 -1 。
輸入格式:測(cè)試輸入包含若干測(cè)試用例, 每個(gè)測(cè)試用例占一行,格式為 "A B K",相鄰兩數(shù)字有一個(gè)空格間隔。當(dāng) A 和 B同時(shí)為
0 時(shí)輸入結(jié)束,相應(yīng)的結(jié)果不要輸出。
輸出格式:對(duì)每個(gè)測(cè)試用例輸出 1 行,即 A+B的值或者是 -1 。
輸入樣例:
1 2 1
11 21 1
108 8 2
36 64 3
0 0 1
輸出樣例:
44、
3
-1
-1
100
#include <>
#include <>
int main(void)
{
unsigned int a, b, k;
unsigned char ch1[50], ch2[50];
do{
scanf("%d %d %d", &a, &b, &k);
if( a==0&&b==0 || k>8 ) break;
sp 45、rintf(ch1, "%d", a); sprintf(ch2, "%d", b);
strrev(ch1);strrev(ch2);
if(strlen(ch1) 46、intf("%d\n",a+b);
}while(1);
return 0;
}
2006 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案
(2/5)
2007-03-31 21:44:14
大 中 小
第二題:統(tǒng)計(jì)同成績學(xué)生人數(shù)( 12 分)
題目要求:讀入 N名學(xué)生的成績,將獲得某一給定分?jǐn)?shù)的學(xué)生人數(shù) 47、輸出。
輸入格式:測(cè)試輸入包含若干測(cè)試用例,每個(gè)測(cè)試用例的格式
為
第 1 行: N
第 2 行: N名學(xué)生的成績,相鄰兩數(shù)字用一個(gè)空格間隔。
第 3 行:給定分?jǐn)?shù)
當(dāng)讀到 N=0時(shí)輸入結(jié)束。其中 N不超過 1000,成績分?jǐn)?shù)為(包含) 0 到 100 之間的一個(gè)整數(shù)。
輸出格式:對(duì)每個(gè)測(cè)試用例, 將獲得給定分?jǐn)?shù)的學(xué)生人數(shù)輸出。
輸入樣例:
3
80 60 90
60
2
48、
85 66
0
5
60 75 90 55 75
75
0
輸出樣例:
1
0
2
#include <>
#include <>
int main(void)
{
unsigned N, score, num, i;
unsigned pList[1000];
do
49、
{
scanf("%d",&N);
if(N==0) break;
for(i=0;i 50、
2006 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案
(3/5)
第三 :火星 A+B (7 分)( ZOJ ACM 2529)
目要求: 入兩個(gè)不超 25 位的火星正整數(shù) A和 B, 算 A+B。需要注意的是:在火星上,整數(shù)不是 一 制的,第 n 位的 制就是第 n 個(gè)素?cái)?shù)。例如:地球上的 10 制數(shù) 2,在火星上 “ 1,0 ”,因 火星個(gè)位數(shù)是 2 制的;地球上的 10 制數(shù)38,在火星上 “ 1,1,1,0 ”,因 火星個(gè)位數(shù)是 2 制的,十位數(shù)是 3 制的,百位數(shù)是 5 51、 制的,千位數(shù)是 7 制的??
入格式: 入包含若干 用例, 每個(gè) 用例占一行,包含兩個(gè)火星正整數(shù) A和 B,火星整數(shù)的相 兩位數(shù)用逗號(hào)分隔, A和 B之 有一個(gè)空格 隔。當(dāng) A或 B為 0 入 束,相 的 果不要 出。
出格式: 每個(gè) 用例 出 1 行,即火星表示法的 A+B的 。
入 例:
1,0 2,1
4,2,0 1,2,0
1 10,6,4,2,1
0 0
輸出樣例:
52、
1,0,1
1,1,1,0
1,0,0,0,0,0
=========================我的代碼
=============================
測(cè)試用例和輸出結(jié)果:
1,0 2,1
1,0,1
4,2,0 1,2,0
1,1,1,0
1 10,6,4,2,1
1,0,0,0,0,0
0,1,0,1 0,0,1,1
1,2,0
53、
0,0,0,0,1 1,0,0
1,0,1
0,0,0,1 0,0,0,0,0,1
1,0
96,88,82,78,72,70,66,60,58,52,46,42,40,36,30,28,22,18,
16,12,10,6,4,2,1 96,88,82,
78,72,70,66,60,58,52,46,42,40,36,30,28,22,18,16,12,10,
6,4,2,1
1,96,88,82,78,72,70,66,60,58,52,46, 54、42,40,36,30,28,22,1
8,16,12,10,6,4,2,0
0,0,0 0,1,0
Press any key to continue
#include <>
#include <>
#include <>
#define N 25
int IsPrime(int n)
{
int i;
if(n<2) return 0;
for(i=2; i 55、
if(n%i==0) return 0;
return 1;
}
int main(void)
{
char op1[300], op2[300], *p;
int i, j, index, num, num1, num2, cnt, breakflag;
int PrimeList[N+1], op1List[N], op2List[N], OutputList[N+1];
for(i = 0, j = 0; i < N+1; j++) /* 計(jì) 56、算每一位的進(jìn)
制 */
if(IsPrime(j)) PrimeList[i++] = j;
do
{
if(scanf("%s%s", op1, op2) == EOF)
break;
for(i=0; i 57、rtok(op1,",");
while(p) /* 求出第一個(gè)輸入火星數(shù)的數(shù)組 */
{
if( ( op1List[num1++] = atoi(p) ) != 0)
breakflag = 0;
p = strtok(NULL,",");
}
if(breakflag) break; /* 第一個(gè)輸入為 0,退出循環(huán);
如果放到 ZOJ2529,刪除本行 */
num2 = 0; breakflag = 1; p = str 58、tok(op2,",");
while(p) /* 求出第二個(gè)輸入火星數(shù)的數(shù)組 */
{
if( ( op2List[num2++] = atoi(p) ) != 0)
breakflag =0;
p = strtok(NULL,",");
}
if(breakflag) break; /* 第二個(gè)輸入為 0,退出循環(huán);
如果放到 ZOJ2529,刪除本行 */
num1--,num2--; /* preset num1 and num2 59、 start from zero */
if(num1 < num2) /* 把輸入的兩個(gè)火星數(shù)數(shù)按位序?qū)R,
兩個(gè) if 操作只執(zhí)行一個(gè) */
for(i = num1; i >= 0; --i)
{
op1List[i + num2 - num1] = op1List[i];
op1List[i] = 0;
}
if(num1 > num2)
for(i = num2; i >= 0; --i)
{
o 60、p2List[ i + num1 - num2] = op2List[i];
op2List[i] = 0;
}
cnt = (num1 > num2) num1 : num2; /* cnt 為兩個(gè)火星
數(shù)的較大位數(shù),便于確定輸出位數(shù) */
for( index=0, i=cnt; i>=0 ; i--, index++ )
{
num = op1List[i] + op2List[i] + OutputList[index];
if( num - Prim 61、eList[index] >= 0 )
{
OutputList[index] = num - PrimeList[index];
OutputList[index+1]++;
if( index + 1 > cnt ) cnt++; /* 最高位進(jìn)位 */
}
else
OutputList[index] = num;
}
while( OutputList[cnt]==0 && cnt ) cnt--; /* omit 62、 leading zeros */
for( ; cnt >=0 ; cnt-- )
printf("%d%c", OutputList[cnt],
(cnt==0)\n:,);
}while(1);
return 0;
}
2006 年浙江大學(xué)計(jì)算機(jī)學(xué)院考研復(fù)試上機(jī)試題及參考答案
(4/5)
第 4 題:簡單計(jì)算器( 7 分)
題目要求:讀入一個(gè)只包含 +, -, *, / 的正整數(shù)計(jì)算表達(dá)式,計(jì)算該表達(dá)式的值。
63、輸入格式:測(cè)試輸入包含若干測(cè)試用例, 每個(gè)測(cè)試用例占一行,每行不超過 80 個(gè)字符,整數(shù)和運(yùn)算符之間用一個(gè)空格分隔。 沒有非法表達(dá)式。當(dāng)一行中只有 0 時(shí)輸入結(jié)束,相應(yīng)的結(jié)果不要輸出。
輸出格式:對(duì)每個(gè)測(cè)試用例輸出 1 行,即該表達(dá)式的值,精確到小數(shù)點(diǎn)后 2 位。
輸入樣例:
1 + 2
4 + 2 * 5 - 7 / 11
0
輸出樣例:
#include <>
#include <>
# 64、include <>
#include <>
#define EmptyStack (-1)
typedef float ElementType;
typedef struct StackRecord
{
int Capacity;
int TopOfStack;
ElementType *Array;
}*Stack;
Stack CreateStack(int StackSize)
{
65、
Stack S
S = (Stack)malloc(sizeof(struct StackRecord));
S->Capacity = StackSize;
S->TopOfStack = EmptyStack;
S->Array =
(ElementType*)malloc(sizeof(ElementType)*StackSize);
return S;
}
void DisposeStack(Stack S)
{
66、
if(S!=NULL) /* be aware of order ! */
{
free(S->Array);
free(S);
}
}
/* if stack is empty, return 1 */
int IsEmpty(Stack S)
{
return S->TopOfStack == EmptyStack;
}
/* if stack is full, return 1 */
int IsFull(Stack S)
{
return S->TopOfStack >= S->Capacity;
}
void Push(ElementType X, Stack S)
{
if(IsFull(S))
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高考政治一輪復(fù)習(xí):統(tǒng)編版選擇性必修1-3【共3冊(cè)重點(diǎn)知識(shí)點(diǎn)匯總】
- 2025年高考政治一輪復(fù)習(xí):七冊(cè)教材重點(diǎn)考點(diǎn)匯總
- 2025年高考生物一輪復(fù)習(xí):高中生物必修+選必修5冊(cè)教材重點(diǎn)知識(shí)點(diǎn)匯總
- 2025政府工作報(bào)告要點(diǎn)速覽發(fā)展總體要求和政策取向
- 《哪吒2》與DEEPSEEK年輕力量的崛起助力中國突破重圍
- 建設(shè)金融強(qiáng)國做好金融五篇大文章的指導(dǎo)意見
- 落實(shí)高質(zhì)量發(fā)展要求如期完成既定目標(biāo)任務(wù)更新理念科學(xué)統(tǒng)籌切實(shí)增強(qiáng)規(guī)劃執(zhí)行的系統(tǒng)性整體性協(xié)同性
- 如何成為一名暖護(hù)暖護(hù)的概念與職責(zé)
- 藥品儲(chǔ)存與養(yǎng)護(hù)醫(yī)療護(hù)理藥品儲(chǔ)存藥品養(yǎng)護(hù)藥品常識(shí)
- 手術(shù)室職業(yè)暴露與防護(hù)診療護(hù)理等過程中被患者血液體液等污染自身皮膚或黏膜導(dǎo)致的感染
- XX企業(yè)中層管理者領(lǐng)導(dǎo)力提升培訓(xùn)課程
- 醫(yī)院新員工入職培訓(xùn)醫(yī)院新員工必備主要職業(yè)意識(shí)醫(yī)院新員工必備工作觀
- 人工智能技術(shù)介紹人工智能DeepSeek人工智能的未來展望與發(fā)展
- 養(yǎng)娃要有松弛感家庭教育讓孩子在具有松弛感的家庭里慢慢成長
- 醫(yī)院新員工入職培訓(xùn)醫(yī)院新員工必備主要職業(yè)意識(shí)
相關(guān)資源
更多