使用c语言按下列要求编写完整程序:编写函数length(s),其功能为计算字符串s的串长并返回,注意不能使用库函数strlen。编写函数convert(s),其功能是将字符串s倒置,要求调用length函数求串长。编写主函数,输入字符串str,先调用length函数输出串长,再调用convert函数,将字符串str倒置后输出。:
时间: 2024-02-27 08:58:09 浏览: 18
好的,以下是使用C语言实现的完整程序:
```c
#include <stdio.h>
// 计算字符串的长度
int length(char s[]) {
int count = 0;
while (s[count] != '\0') {
count++;
}
return count;
}
// 将字符串倒置
void convert(char s[]) {
int len = length(s);
char temp;
for (int i = 0; i < len/2; i++) {
temp = s[i];
s[i] = s[len-1-i];
s[len-1-i] = temp;
}
}
// 主函数
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
printf("字符串长度为:%d\n", length(str));
convert(str);
printf("倒置后的字符串为:%s\n", str);
return 0;
}
```
您可以将以上代码复制到您的编辑器中,并运行测试。
相关问题
用c语言编写函数del,其功能为删除字符串s中所有非数字字符
以下是用 C 语言编写的函数 del,其功能为删除字符串 s 中所有非数字字符:
```c
void del(char *s) {
int i, j;
for (i = j = 0; s[i]; i++) {
if (isdigit(s[i])) {
s[j++] = s[i];
}
}
s[j] = '\0';
}
```
该函数的实现方法是遍历字符串 s 中的每个字符,如果该字符是数字,则将其复制到新的字符串中,最后将新字符串的末尾设置为 '\0'。这样就可以删除字符串 s 中所有非数字字符了。
用c语言编写程序,分别测试三个字符串函数的使用:strfen{s{}}
好的,我可以帮你解答这个问题。
首先,我需要明确一下你要测试哪三个字符串函数。如果按照你的字面意思来理解,应该是指以下三个函数:
- strlen():计算字符串的长度
- strcpy():将一个字符串复制到另一个字符串中
- strcat():将一个字符串连接到另一个字符串的末尾
接下来,我会给出一个简单的示例程序,演示这三个函数的使用:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "hello";
char str2[20] = "world";
char str3[20] = "";
// 使用 strlen() 函数计算字符串长度
printf("str1 的长度为:%d\n", strlen(str1));
// 使用 strcpy() 函数将 str1 复制到 str3 中
strcpy(str3, str1);
printf("str3 的内容为:%s\n", str3);
// 使用 strcat() 函数将 str2 连接到 str1 的末尾
strcat(str1, str2);
printf("str1 的内容为:%s\n", str1);
return 0;
}
```
这个程序首先定义了三个字符数组,分别用于存储字符串。然后,使用 strlen() 函数计算了 str1 的长度,并输出了结果。接着,使用 strcpy() 函数将 str1 复制到 str3 中,并输出了 str3 的内容。最后,使用 strcat() 函数将 str2 连接到 str1 的末尾,并输出了 str1 的内容。
你可以根据自己的需要修改这个程序,测试不同的字符串函数使用方法。希望对你有帮助!