xXxLHospitalxXx 2020-12-06 21:53 采纳率: 100%
浏览 31
已采纳

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

#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 2020-12-07 10:37
    关注
    #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条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站