编程实现对输入的字符串进行逆序
2016-12-03 19:14
176 查看
方法一:用两个指针,一个指针指向字符串结尾,一个指针指向字符串首部,len代表字符串的长度,用折半的方式将头部指针和尾部指针的内容进行交换,每交换一次字符后头部指针自加,尾部指针自减。
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 512
void reverse(char *str, int len)
{
int i;
char temp;
char *p = str + len - 1;
char *s = str;
for(i = 0; i < len / 2; i++)
{
temp = *s;
*s = *p;
*p = temp;
s++;
p--;
}
return;
}
int main()
{
char src[MAX_SIZE];
int len = 0;
printf("enter:");
gets(src);
len = strlen(src);
reverse(src,len);
printf("%s\n",src);
return 0;
}
方法2:在逆序函数中使用一个静态数组,将传入的字符串从尾部遍历到首部并依序存于该静态数组中,最后返回该数组的首地址。
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 512
char* reverse(char *str, int len)
{
int i;
static char src[MAX_SIZE] = {0};
char *p = str;
for(i = len - 1; i >= 0; i--)
{
src[len - i - 1] = *(p + i);
}
return src;
}
int main()
{
char src[MAX_SIZE];
char *result;
int len = 0;
printf("enter:");
gets(src);
len = strlen(src);
result = reverse(src,len);
printf("%s\n",result);
return 0;
}
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 512
void reverse(char *str, int len)
{
int i;
char temp;
char *p = str + len - 1;
char *s = str;
for(i = 0; i < len / 2; i++)
{
temp = *s;
*s = *p;
*p = temp;
s++;
p--;
}
return;
}
int main()
{
char src[MAX_SIZE];
int len = 0;
printf("enter:");
gets(src);
len = strlen(src);
reverse(src,len);
printf("%s\n",src);
return 0;
}
方法2:在逆序函数中使用一个静态数组,将传入的字符串从尾部遍历到首部并依序存于该静态数组中,最后返回该数组的首地址。
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 512
char* reverse(char *str, int len)
{
int i;
static char src[MAX_SIZE] = {0};
char *p = str;
for(i = len - 1; i >= 0; i--)
{
src[len - i - 1] = *(p + i);
}
return src;
}
int main()
{
char src[MAX_SIZE];
char *result;
int len = 0;
printf("enter:");
gets(src);
len = strlen(src);
result = reverse(src,len);
printf("%s\n",result);
return 0;
}
相关文章推荐
- 编程:实现对字符串进行循环右移,例如:输入abcdefgh,循环右移34位,输出ghabcdef
- 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分
- 编程实现输入字符串中的对称字符串的个数
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 输入n个整数,编写函数实现以下操作,要求用指针实现: (1) 对n个数进行排序; (2) 将从指定位置的m个数逆序存放,例如:原序列为2,4,6,8,10,12,14,16,18,20,若要求把
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 《任意输入一个合理大小的字符串,实现逆序输出并统计一个字符串中字母、数字、空格及其他字符的个数》
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- python实现对指定输入的字符串逆序输出的6种方法
- 8.在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:
- 实现从控制台输入字符串,逆序打印输出
- 编程实现对键盘输入的英文名句子进行加密。用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变。
- 编程菜鸟的日记-初学尝试编程-实现字符串的逆序
- 3. 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与
- 将一个输入的字符串进行逆序
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 使用BIOS进行键盘输入【编程:字符串的输入】