输入一个字符串,除首尾字符外,其余的字符按照ascii降序输出C语言
时间: 2023-08-22 22:05:54 浏览: 53
好的,可以使用以下C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, i, j;
printf("请输入一个字符串:\n");
scanf("%s", str);
len = strlen(str);
for (i = 1; i < len - 1; i++) {
for (j = i + 1; j < len - 1; j++) {
if (str[i] < str[j]) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
printf("除首尾字符外,其余的字符按照ascii降序输出为:\n");
for (i = 1; i < len - 1; i++) {
printf("%c ", str[i]);
}
printf("\n");
return 0;
}
```
这段代码首先读入一个字符串,然后使用冒泡排序法将除了首尾字符外的字符按照ascii码值降序排列,最后输出排序后的字符序列。
相关问题
c语言编写程序 输入一个字符串(长度不超过200,不包含空格,至少有1个字符),除首尾字符外,将其余的字符按ascii码降序排列,然后输出。
以下是一个可能的C语言程序实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[201];
int len, i, j, temp;
scanf("%s", str);
len = strlen(str);
for (i = 1; i < len-1; i++) {
for (j = i+1; j < len-1; j++) {
if (str[i] < str[j]) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
printf("%s\n", str+1); // 输出除首字符外的结果
return 0;
}
```
该程序首先读取一个长度不超过200、不包含空格的字符串,并计算出其长度。然后使用冒泡排序算法对除首尾字符外的字符按ASCII码降序排列,最后输出结果。需要注意的是,输出时应该从第二个字符开始输出(即`str+1`),以排除首字符。
编写函数对一个字符串, 除首、尾字符之外的其它字符按ASCII码降序排列。请用C语言回答。
好的,以下是一个用C语言编写的函数,用于对一个字符串除首、尾字符之外的其它字符按ASCII码降序排列:
```c
#include <stdio.h>
#include <string.h>
void sortString(char *str) {
int len = strlen(str);
int i, j;
char temp;
// 冒泡排序
for (i = 1; i < len - 1; i++) {
for (j = i + 1; j < len - 1; j++) {
if (str[i] < str[j]) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
int main() {
char str[] = "hello world";
int len = strlen(str);
// 排序
sortString(str);
// 输出
printf("%c", str[0]);
for (int i = 1; i < len - 1; i++) {
printf("%c", str[i]);
}
printf("%c\n", str[len - 1]);
return 0;
}
```
在该代码中,我们定义了一个 `sortString()` 函数,该函数接受一个字符串作为参数。该函数使用冒泡排序对字符串除首、尾字符之外的其它字符按ASCII码降序排列。然后,在 `main()` 函数中,我们声明了一个字符串,并调用 `sortString()` 函数来对其进行排序。最后,我们输出排序后的字符串,首尾字符不变。