问答题
请编写函数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个元素中再挑出一个最大的元素,把它和第二个 元素交换,不断重复以上过程,直到比较完最后两个元素。