當前位置:學者齋 >

計算機 >計算機三級 >

2016計算機三級《資料庫技術》專項練習題

2016計算機三級《資料庫技術》專項練習題

第1題 請編寫函式fun,對長度位7個字元的字串,除首尾字元外,將其餘5個字元按ascii碼降序排列。

2016計算機三級《資料庫技術》專項練習題

答案:

void fun(char *s,int num)

{

char t;

int I,j;

for(i=1;i

for(j=i+1;j

if(s[i]

{

t=s[i];

s[i]=s[j];

s[j]=t;

}

}

第2題 n名學生的成績已在主函式中放入一個帶頭節點的連結串列結構中,h指向連結串列的頭節點。請編寫函式fun,它的功能是:找出學生的最高分,由函式值返回。

答案:

double fun(STREC *h)

{

double max;

STREC *q=h;

max=h->s;

do

{

if(q->s>max)

max=q->s;

q=q->next;

}

while(q!=0);

return max;

}

第3題 請編寫函式fun,該函式的功能是:判斷字串是否為迴文?若是則函式返回1,主函式中輸出yes,否則返回0,主函式中輸出no。迴文是指順讀和倒讀都是一樣的字串。

答案:

int fun(char *str)

{

int I,n=0;fg=1;

char *p=str;

while (*p)

{

n++;

p++;

}

for(i=0;i

if (str[i]==str[n-1-i]);

else

{

fg=0;

break;

}

return fg;

}

第4題 請編寫一個函式fun,它的功能是:將一個字串轉換為一個整數(不得呼叫c語言提供的將字串轉換為整數的函式)。

答案:

long fun (char *p)

{

long s=0,t;

int i=0,j,n=strlen(p),k,s1;

if(p[0]==‘-’)

i++;

for(j=I;j<=n-1;j++)

{

t=p[j]-‘0’;

s1=10;

for(k=j;k

t*=s1;

s+=t;

}

if(p[0]==‘-’)

return –s;

else

return s;

}

第5題 請編寫一個函式fun,它的功能是:比較兩個字串的長度,(不得呼叫c語言提供的求字串長度的函式),函式返回較長的字串。若兩個字串長度相同,則返回第一個字串。

答案:

char *fun(char *s,char *t)

{

char *p,*t1=t,*s1=s;

int n=0;m=0;

while (*s1)

{

n++;

s1++;

}

while(*t1)

{

m++;

t1++;

}

if(n>=m)

p=s;

else

p=t;

return p;

}

第6題 請編寫一個函式fun,它的功能是:根據以下公式求x的值(要求滿足精度0.0005,即某項小於0.0005時停止迭代):

x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)

程式執行後,如果輸入精度0.0005,則程式輸出為3.14…。

答案:

double fun(double eps)

{

double s;

float n,t,pi;

t=1;pi=0;n=1.0;s=1.0;

while((fabs(s))>=eps)

{

pi+=s;

t=n/(2*n+1);

s*=t;

n++;

}

pi=pi*2;

return pi;

}

第7題 請編寫一個函式fun,它的功能是:求除1到m之內(含m)能北7或11整除的所有整數放在陣列a中,通過n返回這些數的個數。

答案:

void fun(int m, int *a, int *n)

{

int I,j=0; *n=0;

for(i=1;i<=m;i++)

if (i%7==0 || i%11 ==0)

{

a[j]=I;

j++;

}

*n=j;

}

第8題 請編寫一個函式fun,它的功能是:找出一維整型陣列元素中最大的值和它所在的下標,最大的值和它所在的`下標通過形參傳回。陣列元素中的值已在主函式中賦予。主函式中x是陣列名,n 是x中的資料個數,max存放最大值,index存放最大值所在元素的下標。

答案:

void fun (int a[],int n, int *max, int *d)

{

int I;

*max=a[0];

*d=0;

for(i=0;I

if(a[i]>*max)

{

*max=a[i];

*d=I;

}

}

第9題 請編寫一個函式fun,它的功能是:將ss所指字串中所有下標為奇數位置上的字母轉換為大寫(若該位置上不是字母,則不轉換)。

答案:

void fun(char *ss)

{

int I,n;

n=strlen(ss);

for(i=1;i

if(ss[i]>=‘a’&& ss[i]<=‘z’)

ss[i]=ss[i]-32;

}

第10題 請編寫一個函式fun,它的功能是:求除一個2×m整型二維陣列中最大元素的值,並將此值返回呼叫函式。

答案:

int fun(int a[][M])

{

int I,j,max;

max=a[0][0];

for(i=0;i<2;i++)

for(j=0;j

if(a[i][j]>max)

max=a[i][j];

return max;

}

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/jsj/sanji/qrjd1r.html