请编写函数fun() 对长度为7个字符的字符串 除首 尾字符外 将其余5个字符按ASCII码值降序排列。 例

计算机 字符,字符串 已帮助 人

请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码值降序排列。

例如:原来的字符串为CEAedca,则排序后输出为CedcEAa。

注意:部分源程序已存在文件test22_2.cpp中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

文件test22_2.cpp的内容如下:

include <iostream.h>

include <stdio.h>

include <ctype.h>

include <conio.h>

void int fun(char *s, int num)

{

}

void main ()

{

char s[10];

printf ("输入7个字符的字符串:");

gets(s);

fun(s,7);

cout<<s;

}

请帮忙给出正确答案和分析,谢谢!

热搜:fun函数的功能是求3行4列二维数组每行元素中的最大值

答案解析

难度★★☆ 搜索
  • 正确答案:int fun(char*sint num){char t;int ij;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}}
    int fun(char*s,int num){char t;int i,j;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}} 解析:本题考查利用循环来控制数组元素的操作,首尾元素除外,因此,数组的下标值要从1开始,用循环变量i来依次取得数组中的元素,用数组中的元素s[i]和s[j]进行比较,如果后一个元素的ASCII码值大于前一个元素的ASCII码值,则交换这两个数组元素的值。