Silvia-Suey 2023-12-21 23:34 采纳率: 100%
浏览 26
已结题

提问:zcmu5219名字规范化

Description

一个名单里面有大型机械的很多零部件名,但是由于制作这个名单的人习惯不太好,零部件的名称的大小写很混乱。有的是大写字母开头,有些是小写字母开头,零部件名称中间的字符也是大小写混乱。
请你设计程序,将名单上零部件的名称都变为开头字母大写,后面字母全小写的形式。

Input

输入第一行只有一个正整数 N,表示名单上的零部件(1 <= N <= 100)。
之后的 N 行:为 N 个零部件的名称(长度不超过100)。

Output

输出为 N 行,为所有 N 个零部件的名称,首字母为大写,后面的字母为小写。输出的每行为一个名字。

Sample Input

3
assETs
lOp
HEad

Sample Output

Assets
Lop
Head

代码

#include<stdio.h>
#include<string.h>
int main()
{
    int N,i;
    char a[101];
    int x,y;
    scanf("%d",&N);
    getchar();
    for(i=1;i<=N;i++)
    {
        gets(a);
        x=strlen(a);
        for(y=0;y<=x;y++)
        {
            if(y==0){
                if(a[y]>='a'&&a[y]<='z')
                a[y]=a[y]-'a'+'A';
            }
            else if(y>0){
                if(a[y]>='A'&&a[y]<='Z')
                {
                    a[y]=a[y]-'A'+'a';
                }
            }
            printf("%c",a[y]);
        }
        printf("\n");
    }
    return 0;
}

问题

最后提交时显示编译错误。为什么😢

  • 写回答

2条回答 默认 最新

  • Leodong. 2023-12-22 10:02
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    编译错误的原因是在循环中使用了gets()函数,这个函数已经被废弃,不推荐使用。应该使用fgets()函数来代替。

    修改后的代码如下:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int N,i;
        char a[101];
        int x,y;
        scanf("%d",&N);
        getchar();
        for(i=1;i<=N;i++)
        {
            fgets(a, sizeof(a), stdin); // 使用fgets()代替gets()
            x=strlen(a);
            for(y=0;y<=x;y++)
            {
                if(y==0){
                    if(a[y]>='a'&&a[y]<='z')
                    a[y]=a[y]-'a'+'A';
                }
                else if(y>0){
                    if(a[y]>='A'&&a[y]<='Z')
                    {
                        a[y]=a[y]-'A'+'a';
                    }
                }
                printf("%c",a[y]);
            }
            printf("\n");
        }
        return 0;
    }
    

    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 12月21日

悬赏问题

  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误