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

admin2017-11-27  20

问题   请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCH码降序排列。
    例如,原来的字符串为:CEAedca,排序后输出为:CedcEAa。
  注意:部分源程序在文件PROG1.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
解析 选择排序法中的降序排序,首先从数组中挑选一个最大的元素的ascill码,把它和第一个元素交换,接着从剩下的num-1个元素中再挑出一个最大的元素的ascill码,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。
转载请注明原文地址:https://kaotiyun.com/show/M2xp777K
0

最新回复(0)