用c语言输人字符串 strl 和数字 n,将字符串前口个字符前后顺序反转存储在 str2 中并输出。
时间: 2023-06-24 22:07:38 浏览: 98
C语言程序设计-将主函数中输入的字符串反序存放;例如:输入字符串“abcdefg”,则应输出“gfedcba”;.c
5星 · 资源好评率100%
可以使用双指针的方法,从字符串的两端开始交换字符,直到中间位置。
以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str, int n) {
int i = 0, j = n - 1;
while (i < j) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
int main() {
char str1[100], str2[100];
int n;
printf("请输入一个字符串和一个数字n:\n");
scanf("%s %d", str1, &n);
// 将前n个字符反转
strncpy(str2, str1, n);
reverse_string(str2, n);
// 将剩余字符复制到str2中
strncpy(str2 + n, str1 + n, strlen(str1) - n);
printf("反转后的字符串为:%s\n", str2);
return 0;
}
```
输入:
```
abcdefg 3
```
输出:
```
反转后的字符串为:cbadefg
```
阅读全文