问答题 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。 例如,原来的字符串为: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/rll" s); i++ ; ) fclose (rf); fclose (wf); } main() { char s[10]; printf("输入7个字符的字符串:"); gets (s); fun (s,7); printf ("/n%s",s); NONO(); }
【正确答案】正确答案:1 char t; 2 int i.j; 3 for (i=1; i
【答案解析】解析:选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一个元素交换,接着从剩下 的num—1个元素中再挑出一个最大的元素,把它和第二个 元素交换,不断重复以上过程,直到比较完最后两个元素。