- 相關推薦
2016計算機三級《數(shù)據(jù)庫技術》專項練習題
第1題 請編寫函數(shù)fun,對長度位7個字符的字符串,除首尾字符外,將其余5個字符按ascii碼降序排列。
答案:
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名學生的成績已在主函數(shù)中放入一個帶頭節(jié)點的鏈表結構中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun,它的功能是:找出學生的最高分,由函數(shù)值返回。
答案:
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題 請編寫函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出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題 請編寫一個函數(shù)fun,它的功能是:將一個字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用c語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。
答案:
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題 請編寫一個函數(shù)fun,它的功能是:比較兩個字符串的長度,(不得調(diào)用c語言提供的求字符串長度的函數(shù)),函數(shù)返回較長的字符串。若兩個字符串長度相同,則返回第一個字符串。
答案:
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題 請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求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題 請編寫一個函數(shù)fun,它的功能是:求除1到m之內(nèi)(含m)能北7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。
答案:
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題 請編寫一個函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n 是x中的數(shù)據(jù)個數(shù),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題 請編寫一個函數(shù)fun,它的功能是:將ss所指字符串中所有下標為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。
答案:
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題 請編寫一個函數(shù)fun,它的功能是:求除一個2×m整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。
答案:
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;
}
第11題 請編寫函數(shù)fun,其功能是:將s所指字符串中除了下標為偶數(shù)、同時ascii值也為偶數(shù)的字符外,其余的全都刪除;串中剩余字符所形成的一個新串放在t所指的一個數(shù)組中。
答案:
void fun(char *s,char t[])
{
int I,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2==0&&s[i]%2==0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}
第12題 請編寫函數(shù)fun,其功能是:將s所指字符串中除了下標為奇數(shù)、同時ascii值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個新串放在t所指的一個數(shù)組中。
答案:
void fun(char *s,char t[])
{
int I,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2!=0&&s[i]%2!=0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}
第13題 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:使字符串中尾部的*號不得多于n個;若多于n個,則刪除多于的*號;若少于或等于n個,則什么也不做,字符串中間和前面的*號不刪除。
答案:
void fun(char *a,int n)
{
int i=0;k=0;
char *p, *t;
p=t=a;
while (*t)
t++;
t--;
while(*t==‘*’)
{
k++;
t--;
}
t++;
if(k>n)
{
while (*p&&p
{
a[i]=*p;
i++;
p++;
}
a[i]=‘\0’;
}
}
第14題 學生的記錄由學號和成績組成,n名學生的數(shù)據(jù)已在主函數(shù)中放入結構體數(shù)組s中,請編寫函數(shù)fun,它的功能使:把分數(shù)最高的學生數(shù)據(jù)放在h所指的數(shù)組中,注意:分數(shù)最高的學生可能不止一個,函數(shù)返回分數(shù)最高的學生的人數(shù)。
答案:
int fun (STREC *a, STREC *b)
{
int I,j=0,n=0, max;
max=a[0].s;
for(i=0;i
if(a[i].s>max)
max=a[i].s;
for(i=0;i
if(a[i].s==max)
{
*(b+j)=a[i];
j++;
n++;
}
return n;
}
第15題 請編寫一個函數(shù),用來刪除字符串中的所有空格。
答案:
void fun(char *str)
{
int i=0;
char *p=str;
while (*p)
{
if(*p!=‘’)
{
str[i]=*p;
i++;
}
p++;
}
str[i]=‘\0’;
}
第16題 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串中的前導*號全部移到字符串的尾部。
答案:
void fun(char *a)
{
int i=0,n=0;
char *p;
p=a;
while (*p==‘*’)
{
n++;
p++;
}
while (*p)
{
a[i]=*p;
i++;
p++;
}
while(n!=0)
{
a[i]=‘*’;
i++;
n--;
}
a[i]=‘\0’;
}
第17題 某學生的記錄由學號、8門課程成績和平均分組成,學號和8門課程的成績已在主函數(shù)中給出。請編寫函數(shù)fun,它的功能是:求出該學生的平均分放在記錄的ave成員中。請自己定義正確的形參。
答案:
void fun(STREC *p)
{
double av=0.0;
int i:
for(i=0;i
av+=p->s[i];
av/=N;
p->ave=av;
}
第18題 請編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。
答案:
int fun(char *ss, char c)
{
int n=0;
while (*ss)
{
if(*ss==c)
n++;
ss++;
}
return n;
}
第19題 請編寫函數(shù)fun,該函數(shù)的功能是:移動一維數(shù)組中的內(nèi)容,若數(shù)組中由n個整數(shù),要求把下標從0到p(p小于等于n-1)的數(shù)組元素平移到數(shù)組的最后。
答案:
void fun(int *w, int p, int n)
{
int b[N], i, j=0;
for(i=0;i<=p;i++)
{
b[i]=w[i];
j++;
}
for(i=0;i<=p;i++)
{
w[j]=b[i];
j++;
}
}
第20題 請編寫函數(shù)fun,該函數(shù)的功能是移動字符串中內(nèi)容,移動的規(guī)則如下:把第1到第m個字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
答案:
void fun(char *w,int m)
{
char b[N];
int I,j=0;
for(i=0;i
{
b[j]=w[i];
j++;
}
for (i=0;i
w[i]=w[i+m];
for(j=0;j
{
w[i]=b[j];
i++;
}
w[i]=‘\0’;
}
【計算機三級《數(shù)據(jù)庫技術》專項練習題】相關文章:
計算機三級《數(shù)據(jù)庫技術》專項試題及答案10-07
計算機三級數(shù)據(jù)庫技術單選專項測試09-05
計算機三級數(shù)據(jù)庫技術填空專項練習07-21
計算機三級《數(shù)據(jù)庫技術》練習題及答案10-18
計算機三級的《數(shù)據(jù)庫技術》練習題及答案09-17
計算機三級數(shù)據(jù)庫技術單選專項突破試題07-20