问答题 1.  请编写函数proc(),对长度为9个字符的字符串,除首、尾字符外,将其余7个字符按ASCII码值降序排列。
    例如,原来的字符串为HabcdefA,则排序后输出为HfedcbaA。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
    试题程序:
    #include<string.h>
    #include<stdlib.h>
    #include<stdio.h>
    #include<ctype.h>
    #include<conio.h>
    void proc(char*m,int num)
    {
    }
    void main()
    {
    char t[10];
    system("CLS");
    printf("输入9个字符的字符串:");
    gets(t);
    proc(t,9);
    printf("\n%s",t);
    }
【正确答案】void proc(char*m,int nun)
   {  char t;
   int i,j;
   for(i=1; i<num-2; i++)//下标值从1开始,用循环依次取得字符串中的字符
   for(j=i+1; j<nun-1; j++)//将字符与其后的每个字符比较
   if(m[i]<m[j])//如果后面字符的ASCII码值大于该字符的ASCII码值,则交换这2个字符
   {t=m[i];
   m[i]=m[j];
   m[j]=t;
   }
   }
【答案解析】 按照题目中的要求,求除首、尾字符外,将其余7个字符按ASCII码值降序排列。首先,需要判断除首、尾字符之外,其余7个字符ASCII码值的大小,将不符合顺序要求的字符互换。