Morisummer.. 2022-08-08 22:51 采纳率: 85.2%
浏览 46
已结题

一道字符串数组的问题求解答

img

img


题目和代码如上,现在我提交上去显示错误答案,但是我自己输样例是没问题的,请帮我看一下哪里出问题了?顺便问一句要回去string定义的字符串长度怎么获取,strlen函数好像不行

  • 写回答

2条回答 默认 最新

  • #include <bug> 2022-08-09 00:00
    关注

    你的char c[20]小了,如果药品名为20个字符,则输出错误,因为字符串的最后一个字符为空字符’\0‘,若药品名为20个字符,输出时没有检测到空字符,则会将下一个药品名连着当前药品名输出。
    改写代码如下,望采纳!

    #include <iostream>
    #include <string.h>
    using namespace std;
    struct zifuchuan{
        char c[21];/////////////修改部分 
    };
    
    int main(){
        struct zifuchuan arr[100];
        int num,i,j;
        cin>>num;
        for(i=0;i<num;i++)
        scanf("%s", arr[i].c);
        for(i=0;i<num;i++){
            for(j=0;j<strlen(arr[i].c);j++){
                if(j==0&&arr[i].c[j]>=97&&arr[i].c[j]<=122)
                    arr[i].c[j]-=32;
                if(j!=0&&arr[i].c[j]>=65&&arr[i].c[j]<=90)    
                    arr[i].c[j]+=32;
                cout<<arr[i].c[j];
            }
            cout<<endl;
        }
        return 0;
    }
    
    

    ```

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月9日
  • 已采纳回答 8月9日
  • 创建了问题 8月8日

悬赏问题

  • ¥15 BV260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序