m0_74127278 2022-10-07 16:54 采纳率: 92.3%
浏览 365
已结题

对部分字符的处理,从键盘上连续输入5个字符,将其中出现的小写字母,做加密转换处理,加密选择是用该字母后面的第三个字母替换

#include<stdio.h>
int main()
{
char a[5]={0};/一串5个字符的字符串/
int i;/a[i]的下标/
for(i=0;i<5;i++)
scanf("%c",&a[i]);/*初始化,输入5个字符*/
if(a[i]>=97&&a[i]<=119)/*97=a,a[i]=a~z时*/
a[i]=a[i]+3;/*变换到下第三个*/
else if(a[i]>119&&a[i]<=122)
a[i]=a[i]-23;
for(i=0;i<5;i++)
printf("%c",a[i]);

}

  • 写回答

3条回答 默认 最新

  • a5156520 2022-10-07 18:37
    关注

    把if-else那段代码放到第一个for循环里面即可,因为如果不放到for循环里面,则处理的是数组下标i=5后面的字符,不符题意,且数组越界了,修改如下:

    
    #include<stdio.h>
    int main()
    {
        char a[5]={0};//一串5个字符的字符串
        int i;//a[i]的下标
        for(i=0;i<5;i++){
                scanf("%c",&a[i]);/*初始化,输入5个字符*/
            if(a[i]>=97&&a[i]<=119)/*97=a,a[i]=a~z时*/
                a[i]=a[i]+3;/*变换到下第三个*/
            else if(a[i]>119&&a[i]<=122)
                a[i]=a[i]-23;
        }
        
        
        for(i=0;i<5;i++)
            printf("%c",a[i]);
    
    }
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 10月15日
  • 已采纳回答 10月7日
  • 创建了问题 10月7日

悬赏问题

  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗