问题 问答题

请编写函数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;

答案

参考答案:

int fun(char*s,int num)

{char t;

int i,j;

for(i=A;i<num-B;i++)

for(j=i+A;j<num-A;j++)

if(s[i]<s[j])

{t=s[i];

s[i]=s[j];

s[j]=t;

}

}

解析:

本题考查利用循环来控制数组元素的操作,首尾元素除外,因此,数组的下标值要从1开始,用循环变量i来依次取得数组中的元素,用数组中的元素s[i]和s[j]进行比较,如果后一个元素的ASCII码值大于前一个元素的ASCII码值,则交换这两个数组元素的值。

单项选择题 A1/A2型题
单项选择题