m0_62414947 2021-11-07 01:16 采纳率: 0%
浏览 23

用char数组如何写啊与string 有什么区别

从键盘输入若干行英文句子,自定义输入的结束方式;按句子的长度从短到长,输出已输入的各句子。(要求分别实现两个不同的版本:(1)使用C风格的字符串,即char数组或char*; (2)使用C++风格的字符串,即string对象)
使用string 对象:

  • 写回答

1条回答 默认 最新

  • 关注

    用char数组或char*;

    #include<iostream>
    #include<cstring>
    using namespace std;
    
    void sort(char *a[],int n)
    {
        int i,j;
        for(i=0;i<n-1;i++)
            for(j=0;j<n-i-1;j++)
                if(strlen(a[j]) > strlen(a[j+1]))
                {
                    char *t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
                }
    }
    
    int main()
    {
        char *a[50], *t;
        int len=0,i;
        while (true)
        {
              t=(char *)malloc(sizeof(char)*10);  //使用动态内存分配给字符串指针分配空间
            cin.getline(t,100);
            if (strcmp(t,"#")==0) //输入 # 表示输入结束
                break;
            a[len++] = t;
        }
        sort(a, len);
        for(i=0;i<len;i++)
            cout << a[i] << endl;
    }
    
    

    img

    如有帮助,望采纳!谢谢!

    评论

报告相同问题?

问题事件

  • 创建了问题 11月7日

悬赏问题

  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?