汤姆的密码一次可以写两个字母。给定一些密文(用汤姆的密码加密的文本),取其前两个字母。明文(未加密文本)的第一个字母是这两个加密字母的ascii值较小的字母。例如,密文的前两个字母为“GD”,则明文的第一个字母为“D”。为了解释这段代码,下图演示了代码“CZuOMUPP1i5fg112”是如何被解密为“COMP1511”的。在每一对字母中,ascii值较低的那一个就是明文的一部分。
您不应该假定会有偶数个输入。如果字符个数为奇数,则忽略最后一个字符。您可以被指定任何可打印的ascii字符作为输入(小写字母、大写字母、换行符、符号等)。您的程序应该总是在输出的最后打印一个换行符。
这个练习很难用fgets来解决。您应该使用getchar解决这个问题。
c语言问题,求具体方法思路
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-Time 2021-07-22 11:36关注
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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卡绘世画不出