一个带有西数的程序。在main0西数中输入一个字符串(长度<20),调用 丽数 fun 将该宇符串中的所有字符按 ASCI 码升序排序,然后再输出排序后的字 符串。例如,输入edcba,则应输出 abcde.
时间: 2024-05-09 10:15:43 浏览: 53
以下是使用C语言实现的一个示例程序:
```c
#include <stdio.h>
#include <string.h>
void fun(char *str) {
int i, j, len = strlen(str);
char temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (str[j] > str[j + 1]) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[20];
printf("请输入一个字符串(长度<20):");
scanf("%s", str);
fun(str);
printf("排序后的字符串:%s\n", str);
return 0;
}
```
运行程序,输入一个字符串,程序将会对字符串进行排序并输出排序后的结果。
相关问题
请编写西数fun,该西数的功能是:统计一行字符串中单词的个数,作为西数 一行字符串在主西数中输入,规定所有单词由小写字母组成,单词之间有若干 个空格隔开,一行的开始设有空格。 迁意:部分源程序给出如下。 请勿改动main西数和其他西数中的任何内容,仅在西数fun的花括号中填入所编写的若干语句。
以下是实现该功能的 `fun` 函数代码:
```c
int fun(char *str)
{
int count = 0;
int i = 0;
while (str[i] != '\0')
{
if (str[i] != ' ' && (i == 0 || str[i - 1] == ' '))
{
count++;
}
i++;
}
return count;
}
```
该函数的实现思路是遍历字符串,每当遇到一个单词的开头时,计数器就加 1。判断单词开头的方法是检查当前字符是否为非空格字符,以及它前一个字符是否为空格字符(或者是字符串开头)。如果是,就说明当前字符是一个单词的开头。最后返回计数器的值即可。
编写一个程序使用户输入2个字符甲,使用指针和西数计算两个字符串的长度并输出。编写两个函教.第_个西数计算一个字符串的长度 第血个函数输入字符串。 然 居 一个测试程序来调用该函数。 [輸入形式】21字符串 【輸出形式】21整数 【样例输入1 China Australia 【样例输出】 5 O 【样例说明】 【评分标准】 羊 据 作 #include<iostream #include<stringe using namespace std; lint length(char "p) 用车语言编写 利用指针和函数计算
很抱歉,我是一名自然语言处理模型,无法编写和执行代码。但是,我可以为你提供如下C++的函数示例。
```c++
#include<iostream>
#include<string>
using namespace std;
int length(char* p) {
int len = 0;
while (*p != '\0') {
len++;
p++;
}
return len;
}
int main() {
char str1[100], str2[100];
cin >> str1 >> str2;
cout << length(str1) << " " << length(str2) << endl;
return 0;
}
```
在这个示例中,我们首先定义了一个名为`length`的函数,它使用指针来计算字符串的长度。然后在`main`函数中,我们使用`cin`函数从用户输入中读取两个字符串,并使用`length`函数计算它们的长度,最后输出结果。
请注意,这只是一个示例,您可以根据需要进行修改和调整。
阅读全文