qq_51352031
2021-07-21 17:51
采纳率: 85.7%
浏览 103

C语言,字符串操作问题

给定一个字符串。请去除串中的数字并反转。

输入格式:
原始串。

输出格式:
去除数字后的反转字符串。

输入样例:
在这里给出一组输入。例如:

he11ll00o w0or8ld!
输出样例:
在这里给出相应的输出。例如:

!dlrow olleh

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

4条回答 默认 最新

  • soar3033 2021-07-22 12:26
    已采纳

    img

    #include <iostream>
    #include <stdio.h>
    
    int main()
    {
        char c[100];
        char tmp;
        int count=0;
        for (int i = 0; i < 100; i++)
        {
            
            scanf("%c", &tmp);
            if (tmp<'0'|| tmp>'9')
            {
                if (tmp == '\n')
                {
                    break;
                }
                c[count] = tmp;
                count++;
    
                
            }
            
        }
        
        for (int i = count-1; i >=0; i--)
        {
            printf("%c", c[i]);
        }
    
    }
    
    
    
    
    
    打赏 评论
  • 快乐鹦鹉 2021-07-21 17:53

    可以另外创建一个字符串,将非数字字符存储到新串,然后从字符串最后一个字符开始输出

    void main()
    {
      char a[100] = {0};
      char b[100] = {0};
      printf("请输入字符串:");
      scanf("%s",a);
      int i,c=0;
      for(i=0; a[i] != 0;i++)
      {
        if(a[i] >= '0' && a[i] <='9')
          continue;
        b[c++] = a[i];
      }
      for(i=c-1;i>=0;i--)
        printf("%c",b[i]);
    }
    
    
    打赏 评论
  • 王大师王文峰 2021-07-21 17:55

    这个挺容易的

    打赏 评论
  • 忆林pp 2021-07-22 16:17

    对字符串进行遍历,符合条件的输出就行,没必要创建新的字符串,浪费资源。

    打赏 评论

相关推荐 更多相似问题