例题:请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

​例如,若干输入 “edcba”,则输出为 “abcde”。​​​​请勿改动主函数main与其它函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。​

代码如下:

#include<stdio.h>
#define N 100
void fun(char p[],int n)
{
int i,j;
char t;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
if(p[i]>p[j])
{
t=p[j];
p[j]=p[i];
p[i]=t;
}
}
main()
{
int i=0,strlen=0;
char s[N];
printf("Please intput a string:\n");
gets(s);
while(s[i]!='\0')
{
strlen++;
i++;
}
fun(s,strlen);
printf("Display string:\n");
puts(s);
}

输出运行窗口如下:

C语言编程>第二十周   ③   请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。_字符串


本周其他练习

​​C语言程序设计专栏​​

​​C语言编程>第二十周 ① 请补充main函数,该函数的功能是求1+2!+3!+…+N!的和。​​

​​C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。​​

​​C语言编程>第二十周 ③ 请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。​​

​​C语言编程>第二十周 ④ 下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。​​

​​C语言编程>第二十周 ⑤ 请补充main函数,该函数的功能是:如果数组a的前一个元素比后一个元素大,则把它保存在数组b中并输出。​​

​​C语言编程>第二十周 ⑥ 请补充main函数,该函数的功能是:打印出满足个位上的数字、十位上的数字和百位上的数字都相等的所有三位数。​​

​​C语言编程>第二十周 ⑦ 请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。​​

​​C语言编程>第二十周 ⑧ 下列给定程序中,函数fun的功能是:将n(1≤n≤10)个字符串连接起来,组成一个新串,放在s所指字符串中。​​

越努力越幸运!​​
​​加油,奥力给!!!