请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCⅡ码降序排列。 例如,原来的字符串为CEAedca,排序后输出为CedcEAa。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其

admin2013-04-02  18

问题 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCⅡ码降序排列。
    例如,原来的字符串为CEAedca,排序后输出为CedcEAa。
    注意:部分源程序在文件PROGl.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#include
void fun(char *s,int num)
{
}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
   char s[10] ;
   FILE *rf, *wf ;
   int i = 0 ;
  rf = fopen("in.dat","r");
  wf = fopen("out.dat","w");
   while(i < 10) {
     fgets(s,10,rf);
     s[7] = 0 ;
     fun(s,7);
     fprintf(wf, "%s\n", s);
     i++ ;
   }
   fclose(rf);
   fclose(wf);
}
main()
{
  char s[10];
  printf("输入7个字符的字符串:");
  gets(s);
  fun(s,7);
  printf("\n%s",s);
  NONO();
}

选项

答案{ char t; int i,j; for(i=1;i
解析 进入fun函数,根据前面的分析:
选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一个元素交换,接着从剩下的num-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。
转载请注明原文地址:https://jikaoti.com/ti/Xan0FFFM
0

最新回复(0)