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

92 阅读3分钟

例题:请补充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语言程序设计专栏

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所指字符串中。

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