编写函数:int fun(char *p),功能是判断一个字符串是否是回文字符串(提示:回文字符串是指正读和反读都一样的字符串),要求从主函数中由键盘输入字符串,调用函数fun后,根据函数fun的返回值,主函数输出是否为回文字符串的判断。
时间: 2024-02-24 20:00:19 浏览: 53
好的,下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
int fun(char *p)
{
int len = strlen(p);
int i;
for (i = 0; i < len / 2; i++)
{
if (p[i] != p[len - i - 1])
{
return 0;
}
}
return 1;
}
int main()
{
char str[100];
printf("请输入字符串:");
scanf("%s", str);
if (fun(str))
{
printf("是回文字符串\n");
}
else
{
printf("不是回文字符串\n");
}
return 0;
}
```
在上面的代码中,我们先定义了一个函数 `fun` ,该函数的参数为一个字符串指针 `p` ,返回值为整型。在函数中,我们首先计算字符串的长度 `len` ,然后使用循环判断该字符串是否为回文字符串,如果是,返回 1 ,否则返回 0 。
在主函数中,我们先从键盘输入一个字符串,然后调用函数 `fun` 判断该字符串是否为回文字符串,并根据函数的返回值输出判断结果。
相关问题
C语言,写程序:编写函数:int fun(char *p),功能是判断一个字符串是否是回文字符串(提示:回文字符串是指正读和反读都一样的字符串),要求从主函数中由键盘输入字符串,调用函数fun后,根据函数fun的返回值,主函数输出是否为回文字符串的判断。 【输入形式】 字符串 【输出形式】 是否为回文串
下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
int fun(char *p) {
int len = strlen(p);
for (int i = 0; i < len / 2; i++) {
if (p[i] != p[len - i - 1]) {
return 0;
}
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
if (fun(str)) {
printf("%s是回文字符串\n", str);
} else {
printf("%s不是回文字符串\n", str);
}
return 0;
}
```
函数 `fun` 的实现很简单,遍历字符串的前一半,判断每个字符是否与对应的后一半相等,如果有一个不相等就返回0,否则返回1。主函数中先从键盘输入一个字符串,再调用 `fun` 判断是否为回文字符串,并输出判断结果。
C语言编写一个函数fun(char* s),该函数的功能是把字符串中的内容逆置
您好!以下是一个使用C语言编写的函数fun(char* s),该函数可以将字符串中的内容进行逆置:
```c
#include <stdio.h>
#include <string.h>
void fun(char* s) {
int length = strlen(s);
int i, j;
char temp;
for (i = 0, j = length - 1; i < j; i++, j--) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
fun(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
在上述代码中,我们首先使用`strlen`函数获取字符串的长度,然后使用两个指针`i`和`j`分别指向字符串的首尾。通过交换指针所指向位置的字符,我们可以将字符串内容进行逆置。在`main`函数中,我们定义了一个字符串`str`,并在调用`fun`函数后打印逆置后的字符串。
运行上述代码,输出将会是:
```
Original string: Hello, World!
Reversed string: !dlroW ,olleH
```
希望这能帮到您!如果您有任何其他问题,请随时提问。
阅读全文