xXxLHospitalxXx
xXxLHospitalxXx
采纳率100%
2020-12-06 21:53

求大神帮我看看代码,目标是删除字符串中的大写字母。

已采纳

#include<stdio.h>
int main()
{
    int q,d,p,i,t,n;
    char a[n];
    scanf("%d",&t);
    for(i=1;i<=t;i++)
    {
        scanf("%d",&n);
        for(q=0;q<n;q++)
        {
            scanf(" %c",&a[q]);
        }
        for(p=0;p<n;p++)
        {
            if(a[p]>=65&&a[p]<97)
            {
                for(d=p;a[d]!='\0';d++)
                {
                    a[d]=a[d+1];
                }
            }
        }
        printf("%s",a);
    }
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_25376897 qq_25376897 4月前
    #include<stdio.h>
    int main()
    {
        int q,d,p,i,t,n;
        char a[n];
        scanf("%d",&t);
        for(i=1;i<=t;i++)
        {
            scanf("%d",&n);
            for(q=0;q<n;q++)
            {
                scanf(" %c",&a[q]);
            }
            for(p=0;p<n;p++)
            {
                if(a[p]>=65&&a[p]<=90) //A-Z 65到90
                {
                    for(d=p;a[d]!='\0';d++)
                    {
                        a[d]=a[d+1];
                    }
                    p--; //上面执行交换后,要把p-1,因为要判断新移的上来值是不是大写字母,不减一就会漏掉
                }
            }
            printf("%s\n",a);
        }
    }
    点赞 1 评论 复制链接分享
  • suiyujing 嘤嘤怪爱巴拉巴拉 4月前

    a[q]是干啥的?

    点赞 1 评论 复制链接分享