不想脱发的小猪
2021-06-24 20:38
采纳率: 100%
浏览 70

c语言输入任意字符串,并倒序输出

例如"hello"变"olleh"

注意,是任意,我输入一亿位也要倒序,

作业绞尽脑汁也写不出来了😭

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 暖晴的天 2021-06-24 20:43
    已采纳

    代码如下: 兼容空格,大小先默认2000,一亿位会爆堆栈大小。

    #include <stdio.h>
    
    void main()
    {
    	char ch[2000];
    	gets_s(ch);   //如果是 vc6.0 请改成 gets(ch);
    	int i = 0;
    	while (ch[i] != '\0')
    	{
    		i++;
    	}
    
    	for (; i >=0; i--)
    	{
    		printf("%c", ch[i]);
    	}
    }
    已采纳该答案
    打赏 评论
  • CSDN专家-张老师 2021-06-24 20:39

    循环即可,一开始指向末尾 

    代码如下,请采纳

    #include<stdio.h>
    
    #include<string.h>
    
    main()
    
    {char a[10];int i,j;
    
    scanf("%s",a);
    
    j=strlen(a);
    
    for(i=j-1;i>=0;i--)
    
    printf("%c",a[i]);
    
    printf("\n");}
    1 打赏 评论
  • CSDN专家-微编程 2021-06-24 20:43

    相应的代码如下

    #include<stdio.h>
     
    #include<string.h>
     
    int main()
     
    {
    
    int i,j;
    char m[1000];
     
    scanf("%s",m);
     
    j=strlen(m);
    
     
    for(i=j-1;i>=0;i--)
     
    printf("%c",m[i]);
     
    printf("\n");
    return 0;
    }

    运行结果如图

    如果对你有帮助,记得采纳一下,谢谢♪(^∇^*) 

    1 打赏 评论
  • 直接从最后遍历就行

    #include<stdio.h>
    #include<string.h>
    char s[50000000];
    void main()
    {
        int i,j;
        scanf("%s",&s);
        for(i=strlen(s)-1;i>=0;i--)
            printf("%c",s[i]);
    }
    

    打赏 评论

相关推荐 更多相似问题