编一个带有函数的程序。在main()函数中输入一个字符串(长度<20),调用函数fun用冒泡法将该字符串中的所有字符按ASCⅡ码升序排序,然后再输出排序后的字符串。
时间: 2024-05-02 15:19:50 浏览: 55
好的,请稍等片刻。
以下是程序代码:
```
#include <stdio.h>
#include <string.h>
void fun(char str[]) {
int len = strlen(str);
for (int i = 0; i < len - 1; ++i) {
for (int j = 0; j < len - 1 - i; ++j) {
if (str[j] > str[j + 1]) {
char temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[20];
printf("请输入一个长度不超过20的字符串:\n");
scanf("%s", str);
fun(str);
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
您可以将以上代码复制到 C/C++ 编辑器中进行运行测试。 需要注意的是,输入字符串时不应超过20个字符,否则程序可能会出现异常。
相关问题
编写一个函数fun,功能是求字符串的长度;在主函数中输入一个字符串,然后调用fun函数完成求串的长度并返回,在主函数中输出fun返回的串长结果。要求用指针完成fun函数,不得使用strlen库函数。
好的,这是一个比较简单的字符串长度求解程序,以下是代码实现:
```c
#include <stdio.h>
// 函数声明
int fun(char *s);
int main()
{
char s[100];
printf("请输入一个字符串:");
scanf("%s", s);
int len = fun(s); // 调用函数
printf("该字符串的长度为:%d\n", len);
return 0;
}
// 函数定义
int fun(char *s)
{
int len = 0;
while (*s != '\0')
{
len++;
s++;
}
return len;
}
```
在上述代码中,我们通过指针 `*s` 来遍历字符串中的每一个字符,当字符不是字符串的结束符 `\0` 时,就将字符串长度加一,最后返回字符串长度。
希望这个程序能对你有所帮助。
功能:编写函数fun求一个字符 串的长度,在main函数中 输入字符串,并输出其长度。
好的,下面是实现该功能的C++代码:
```cpp
#include <iostream>
using namespace std;
int fun(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char str[100];
cout << "请输入一个字符串:";
cin >> str;
int len = fun(str);
cout << "该字符串的长度为:" << len << endl;
return 0;
}
```
在上述代码中,我们编写了一个名为`fun`的函数,该函数接受一个字符数组作为参数,并返回该字符数组的长度。在`main`函数中,我们首先声明一个字符数组`str`,并通过`cin`从控制台输入一个字符串。然后,我们调用`fun`函数计算该字符串的长度,并将其输出到控制台上。
阅读全文