字符串逆序c语言pta
时间: 2023-12-21 16:31:19 浏览: 52
以下是一个使用C语言实现字符串逆序的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
gets(str);
int i, n;
n = strlen(str);
char* p = str + n - 1;
for (i = 0; i < n; i++) {
printf("%c", *p);
p--;
}
return 0;
}
```
输入样例:
Hello World!
输出样例:
!dlroW olleH
相关问题
字符串逆序pta c语言
以下是两种实现字符串逆序的例子:
1. 使用C语言实现字符串逆序
```c
#include <stdio.h>
#include <string.h>
int fun(struct stu *p, int n, char *sname) {
int i;
for (i = 0; i < n; i++) {
if (strcmp(p[i].name, sname) == 0)
return p[i].score;
}
return -1;
}
void reverseString(char *p) {
int len = strlen(p);
for (int head = 0, tail = len - 1; head < len / 2; head++, tail--) {
char tmp = p[head];
p[head] = p[tail];
p[tail] = tmp;
}
}
```
2. 使用C语言实现字符串逆序的另一种方法
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *p) {
int len = 0;
for (int i = 0; p[i] != '\0'; i++) {
len++;
}
for (int head = 0, tail = len - 1; head < len / 2; head++, tail--) {
char tmp = p[head];
p[head] = p[tail];
p[tail] = tmp;
}
}
```
将一个结构体中的字符串逆序 C语言
要将一个结构体中的字符串逆序,你可以使用以下代码:
```c
#include <stdio.h>
#include <string.h>
struct MyStruct {
char str[100];
};
void reverseString(struct MyStruct* myStruct) {
int len = strlen(myStruct->str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = myStruct->str[i];
myStruct->str[i] = myStruct->str[j];
myStruct->str[j] = temp;
}
}
int main() {
struct MyStruct myStruct;
strcpy(myStruct.str, "Hello World");
printf("Original string: %s\n", myStruct.str);
reverseString(&myStruct);
printf("Reversed string: %s\n", myStruct.str);
return 0;
}
```
在上面的代码中,`MyStruct` 是一个自定义的结构体,它包含一个字符串成员 `str`。`reverseString` 函数用于将字符串逆序。在 `main` 函数中,我们创建了一个 `MyStruct` 类型的变量 `myStruct`,并将字符串赋值给它。然后,我们调用 `reverseString` 函数来逆序字符串,并打印结果。
输出结果为:
```
Original string: Hello World
Reversed string: dlroW olleH
```