1: 請編寫函數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名學生的成績已在主函數中放入一個帶頭節點的鏈表結構中,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;
}