给定程序MODI1.C中函数fun的功能是:读入一个字
给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度 <20),将该字符串中的所有字符按ASCII码升序排序后输出。 例如,若输入:edcba,则应输出:abcde。 请改正程序中的错误,使它能统计出正确的结果. 注意:不要改动main函数,不得增行或删行,也不得更改程序的 结构!
/**********code.c**********/
#include <stdio.h>
#include <string.h>
void fun(char t[])
{
char c;
int i, j;
/**********found***********/
for(i = strlen(t);i;i--)
for(j = 0; j < i; j++)
/**********found***********/
if(t[j] < t[j + 1])
{
c = t[j];
t[j] = t[j + 1];
t[j + 1] = c;
}
}
void main()
{
char s[81];
printf("\nPlease enter a character string: ");
gets(s);
printf("\n\nBefore sorting:\n \"%s\"",s);
fun(s);
printf("\nAfter sorting decendingly:\n \"%s\"\n",s);
}
/**********-code.c**********/答案
第1空:错误:for(i = strlen(t); i; i--)
正确:for(i=strlen(t)-1; i; i--)或for(i=strlen(t)-1; i>0; i--)
第2空:错误:if(t[j] < t[j + 1])
正确:if (t[j] > t[j+1])