2015年全國計算機二級考試《C語言》衝刺模擬題(六)

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

2015年全國計算機二級考試《C語言》衝刺模擬題(六)

答案:

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;

}