精华内容
下载资源
问答
  • 字符串倒序输出c语言
    千次阅读
    2021-01-02 12:59:51

    c语言学习成果巩固;

    • 递归实现
      好处在于不改变原字符串,仅仅是对字符串的逆序输出。
    #include<stdio.h>
    
    void print(char* p,int i)
    {
    	if(p[i+1] != '\0')
    	{
    		print(p,i+1);
    	}
    	printf("%c", p[i]);
    }
    
    int main()
    {
    	char c[100];
    	gets(c);
    	print(c,0);
    	return 0;
    }
    
    • 常规方法(对称元素交换)
    #include <stdio.h>
    #include <string.h>
    void reverse(char* p, int start, int end)
    {
    	while (start < end)  //对称元素交换
    	{
    		char c = p[start];
    		p[start] = p[end];
    		p[end] = c;
    		start++;
    		end--;
    	}
    }
    
    int main()
    {
    	char c[100];
    	gets(c);
    	reverse(c, 0, strlen(c)-1);
    	puts(c);
    	return 0;
    }
    
    更多相关内容
  • 请教C语言字符串倒序输出

    千次阅读 2021-05-20 19:36:34
    满意答案bwrgqefgg推荐于 2017.10.03采纳率:55%等级:10已帮助:2169人#include#includevoid main(){char string1[200... //用于存放倒序后的字符串int invertion(char *ch1, char *ch2); //声明函数printf("Please...

    满意答案

    00e27ab806e4881f8254fe7ae8741834.png

    bwrgqefgg

    推荐于 2017.10.03

    00e27ab806e4881f8254fe7ae8741834.png

    采纳率:55%    等级:10

    已帮助:2169人

    #include

    #include

    void main()

    {

    char string1[200]; //用于存放输入的字符串

    char string2[200]; //用于存放倒序后的字符串

    int invertion(char *ch1, char *ch2); //声明函数

    printf("Please input a sentences:\n");

    gets(string1); //这里不要用scanf,因为scanf遇到空白符就会结束

    printf("Your inputed sentences is:%s\n", string1);

    invertion(string1, string2);

    printf("The invertion sentences is:%s\n", string2);

    getchar();

    }

    int invertion(char *ch1, char *ch2)/*char1 接收实参传过来的原字符串指针 char2 接收倒序后的新字符串返回主函数*/

    {

    int count = 1,num=0;

    char *ch=ch1;

    for(;*ch1!='\0';ch1++)// 统计单词个数

    {

    if(*ch1==' ')

    count++; //单词数等于空格数加1,前面把count初始化为1就是这个原因

    if(*ch1==' '&&*(ch1+1)==' ') //防止单词之间有2个空格符而多计数了一个单词数

    count--;

    }

    printf("count = %d\n", count);

    ch1=ch1-1;//前面的ch1经过循环之后已经指向字符串的结束标志'\0',这里减1是为了让它指向字符串的最后一个字符

    while(ch1>=ch)//让ch1从指向string1的最后一个字符开始往前递减,当减到字符串的首个字符时结束

    { int j=num; //保存num,后面要用到这个数

    if(*ch1!=' ')//记录每个单词的长度 ,以空格符作为标志

    num++;

    else // 知道了每个单词的长度之后,就可以用循环将字符以单词为单位写入数组string中,这样的话单词就不会倒序了

    {

    for(int i=1;i<=j;i++,num--)

    *(ch2-num)=*(ch1+i);

    *ch2=*ch1;

    }

    ch1--;

    ch2++;

    }

    for(int i=1;i<=num;i++,ch2++)//因为string1的第一个单词前没有空格符,肯定输不出来,所以单独用一个循环将其输出

    *(ch2-num)=*(ch1+i);

    *ch2='\0'; //string2的结束标志

    }

    这是我做了修改之后的程序,看看符不符合要求!!

    你的那个定义的变量太多,很混乱!循环语句太乱了,if判断条件与循环条件不正确

    已经做了修改,看符合要求不,不行的话,再说!!!

    又做了修改了,看符合要求不??

    不会吧,我调试通过还运行了!!不然怎么会发上来啊!!至于算法问题我给注释吧,你看看!!

    00分享举报

    展开全文
  • C语言 字符串倒序输出

    千次阅读 2020-12-11 10:14:12
    思路是创建一个指向数组头的指针和数组尾的指针,然后首尾位置上的变量逐个交换值,最后到中间即2/len就完成了。 #include <stdio.h> #include <String.h> #define _CRT_SECURE_NO_WARNINGS ...

    思路: 创建一个指向数组头的指针和数组尾的指针,然后首尾位置上的变量逐个交换值,最后到中间即2/len就完成了。
    (注意:三次异或交换两个数时,被交换的两个数不能相等不然会出错。)

    #include <stdio.h>
    #include <String.h>
    #define _CRT_SECURE_NO_WARNINGS
    #define _CRT_SECURE_NO_DEPRECATE
    #pragma warning(disable:4996)
    
    
    char* Reverse(char* buf)
    {
    
    	printf("Please input string:");
    	scanf("%s", buf);
    	int len = strlen(buf);
    	char* tmp = buf+ len-1;
    	char* head = buf;
    
    	for (size_t i = 0; i < len / 2; i++)
    	{
    		if(*buf!=*tmp)
    		{
    			*buf ^= *tmp;
    			*tmp ^= *buf;
    			*buf ^= *tmp;
    		}
    		buf++;
    		tmp--;
    	}
    
    	return head;
    }
    
    
    int main()
    {
    	char buf[100] = "";
    	printf("%s", Reverse(buf));
    }
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • C语言实现字符串倒序输出

    热门讨论 2012-01-25 20:22:40
    C语言实现字符串倒序输出,实现不了的,可以参考一下!
  • C语言实现字符串倒序

    千次阅读 2022-03-19 21:58:10
    C语言实现字符串倒序显示 1.倒序字符串指针法 void reverse_string(char *arr) { int len = strlen(arr); char* left = arr; //指向头部的指针 char* right = arr + (len - 1); //指向尾部的指针 char ...

    C语言显示字符串倒序

    倒序字符串的方法很多,这里给出常见的两种

    1.倒序字符串指针法

    void reverse_string(char *arr) 
    {
    	int len = strlen(arr);
    	char* left = arr;					//指向头部的指针
    	char* right = arr + (len - 1);		 //指向尾部的指针
    	char temp;
    	while(left < right)
    	{	//使用中间变量进行两个字符的交换
    		temp = *left;
    		*left = *right;
    		*right = temp;
    		left++;				//头指针往后走
    		right--;			//尾指针往前走
    	}
    }
    int main()
    {
    	char arr[] = "abcdefg";
    	reverse_string(arr);
    	printf("%s", arr);		//gfedcba
    	return 0;
    }
    

    2.倒序字符串递归法(两端的字符交换加上中间字符串的逆序)

    #include <stdio.h>
    #include <string.h>
    void reverse_string(char* arr)
    {
    	int len = strlen(arr);
    	char temp = *arr;		    //1.先将首字符放到中间变量
    	*arr = *(arr + len - 1);	//2.尾字符放到首字符的位置
    	*(arr + len - 1) = '\0';	//3.把'\0'放到尾字符的位置,方便递归时方便计算字符串长度
    	if (strlen(arr+1) >= 2)
    	{
    		reverse_string(arr + 1);/*4.首指针++,指向第二个字符,使用递归,如果剩余字符串的长度小于2,因为一个字符就没有交换的必要,就退出递归*/
    	}
    	*(arr + len - 1) = temp;	//5.最后把中间变量中存的原来首个字符放到尾部
    }
    int main()
    {
    	char arr[] = "abcdefg";
    	reverse_string(arr);
    	printf("%s", arr);		//gfedcba
    	return 0;
    }
    

    运行结果:
    在这里插入图片描述

    展开全文
  • 倒序输出字符 C语言

    千次阅读 2021-05-19 09:09:25
    匿名用户1级2010-11-26 回答#include#includevoid main(){char string1[200];... //用于存放倒序后的字符串int invertion(char *ch1, char *ch2); //声明函数printf("Please input a sentences:\n");gets(stri...
  • C语言-实现字符串倒序输出

    千次阅读 2021-05-21 17:09:06
    方法1:Action(){//倒序输出char *src="abcdefgh123";char *desc;desc=(char *)malloc(100*sizeof(char));fun_reverse(src,desc);//调用lr_output_message ("%s",desc);return 0;}//封装char fun_reverse(char *str,...
  • C语言基础:使字符串倒序输出

    万次阅读 多人点赞 2021-01-05 23:04:07
    C语言基础:使字符串倒序输出 1. 用字符指针作形参 例1: void reverse1(char *s) { char* p=s+strlen(s)-1; char t; while(s<p) { t=*p; *p=*s; *s=t; p--; s++; } } int main(void) { char str...
  • 定义字符串的长度为2000以内,倒叙输出
  • 字符串倒序输出

    2022-01-05 21:04:52
    倒序拷贝到另一个字符数组 #include <stdio.h> #include <string.h> int main(void) ... char strinput[100];...//用来存放倒序字符串 int i = 0; int j = 0; int len = strlen(strinput);
  • 本文主要向大家介绍了C语言:使用递归倒序输出字符串,通过具体的内容向大家展示,希望对大家学习C语言有所帮助。在之前做的一个进制转换里,想用一个倒序输出,忽然想到了递归,然后发现是很OK的。这里贴出一般的...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#includevoidfun(char*ch1,char*ch2){inti,n(0),k;intlength;booljudge(true);for(length=0;*(ch1+length)!='\0';length++);//计算ch1长度for(i=length-1;...
  • 调用定义的函数使主函数中输入的字符串倒序输出在for循环里用函数(不同的语言有不同的函数)读出字符串的每一个字符,然后输出来就是了.C语言字符串倒序函数?出错。求教!不是那个问题。问题是,在函数my_strrev里你...
  • c语言基础题,帮助理解递归和函数的连续调用。
  • 利用c语言解决字符串逆序的问题、倒置字符串问题
  • C语言利用指针实现字符串逆序输出

    千次阅读 多人点赞 2020-11-10 16:31:38
    第一个for循环是让指针p指向到字符串末尾的‘\0’上,第二个for循环先将p指针向前挪一位,然后输出。 代码 #include<stdio.h> int main() { char *p,*q="hellow world"; for(p=q;*p!='\0';p++){} for(p--;p...
  • 字符串逆序(C语言

    千次阅读 2022-03-23 20:16:59
    递归实现字符串逆序(C语言
  • 利用指针将输入的字符串倒序输出

    千次阅读 2020-05-24 00:00:14
    中strlen函数测量字符串长度时会将最后的“\n”计算在内,这是因为前面的输入函数使用fgets,不会跳过换行符; 2、 p = p + n-2;,指针一开始指向第一个地址,也就是str[0];因此最后的地址 p = p + n-1,由于字符串...
  • 以下是对C++中输入一个字符串,把其中的字符按照逆序输出的两种方法进行了详细的分析介绍,需要的朋友可以过来参考下
  • C语言 逆序输出字符串

    千次阅读 2020-10-27 09:20:16
    除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。 一、简单递归实现 void fun(char *s) { if(*s!='\0') // 递归终止条件 { fun(s+1); // 注意这里是先递归再输出,这样就可以从后面开始...
  • printf("请输入字符:\n"); for(i=0;i;i++) scanf("%c",&a[i]); for(i=0;i;i++) Push(&S,a[i]); for(i=0;i;i++) Pop(&S,&a[i]); for(i=0;i;i++) printf("%c",a[i]); } int InitStack(SqStack *S) {S->base=(char *)...
  • C语言指针实现字符串逆序反转

    千次阅读 2022-04-20 10:19:53
    #include<... // 判断字符串长度需要用strlen。 int len = strlen(arr); printf("字符串长度len = %d\n", len); char* p1 = arr; char* p2 = &arr[len - 1]; while (p1 < p2) { char.
  • C语言字符串反序输出

    2022-07-31 19:00:44
    代码】C语言字符串反序输出。输入一段字符串,将字符串颠倒顺序输出。循环结构反复测试输入输出。对于这种从字符串中间轴镜像交换顺序的类型,可以这样交换:a[i]=a[length-1-i];其中i ;length为字符串的长度。...
  • 1.此处定义原数组为s,再定义另一数组为p用于倒序(此处只用了长度为10的数组,视具体情况而定) ...4.输出检查 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { ch
  • 编程将字符串s倒序输出,要求利用函数递归实现。 **输入格式要求:"%s" 提示信息:"input your string:\n" **输出格式要求:"%c" 程序运行的输入输出样例: input your string: abcdefg gfedcba #include<...
  • 输入字符串倒序输出C语言 #include<stdio.h> #include<string.h> #include <iostream> using namespace std; #define N 20 int main(int argc, const char *argv[]) { char str[N] = "\0"; ...
  • c语言实现字符串倒序的几种情况

    千次阅读 2017-11-29 18:44:07
    第一种:hello , everyone ! I am Chineses !  olleh , enoyreve ! I ma sesenihC ! 两种方法分别如下: (一) #include #include #include int *reverse(char *s, char *t)  ... if(s
  • C语言利用指针倒序输出

    千次阅读 2021-12-07 23:13:02
    利用指针完成操作:输入一串字符并且倒序输出 #include <stdio.h> #include <string.h> #include <windows.h> int main() { char str[80],*p; int i,j; puts("请输入一串字符,并且以Enter...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,685
精华内容 2,274
关键字:

字符串倒序输出c语言

友情链接: XString.rar