答疑解惑必采纳 2021-07-22 11:26 采纳率: 91.3%
浏览 39
已采纳

c语言问题,求具体方法思路

汤姆的密码一次可以写两个字母。给定一些密文(用汤姆的密码加密的文本),取其前两个字母。明文(未加密文本)的第一个字母是这两个加密字母的ascii值较小的字母。例如,密文的前两个字母为“GD”,则明文的第一个字母为“D”。为了解释这段代码,下图演示了代码“CZuOMUPP1i5fg112”是如何被解密为“COMP1511”的。在每一对字母中,ascii值较低的那一个就是明文的一部分。
您不应该假定会有偶数个输入。如果字符个数为奇数,则忽略最后一个字符。您可以被指定任何可打印的ascii字符作为输入(小写字母、大写字母、换行符、符号等)。您的程序应该总是在输出的最后打印一个换行符。
这个练习很难用fgets来解决。您应该使用getchar解决这个问题。

img

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-07-22 11:36
    关注

    img

    
    #include <stdio.h>
    #include <string>
     
    int main()
    {
      
     
     
       char arrs[100];
        char res[100];
    
    int count = 0;
    scanf("%s",arrs);
    for(int i=0;i<(strlen(arrs)%2==0?strlen(arrs):strlen(arrs)-1);i+=2)
    {
         char a;
        if(arrs[i]<arrs[i+1])
        {
            a =arrs[i];
        }
        else{
           a =arrs[i+1];
        }
        res[count]=a;
        count++;
        res[count]=0;
    }
    printf("%s",res);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月22日
  • 创建了问题 7月22日

悬赏问题

  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出