m0_64391767 2021-12-17 00:25 采纳率: 88.9%
浏览 21
已结题

破译密码,运行后无结果?

img


######




#include <stdio.h>
int main()
{
    int i,j;
    char a[20];
    for(i=0;a[i]='\n';i++)
    {
        scanf("%c",a[i]);
            break;
    }
    for(j=0;j<=i;j++)
    {
            if(a[j]<='z'&&a[j]>='a'||a[j]<='Z'&&a[j]>='A')
                a[j]=a[j]+4;        
    }
    for(j=0;j<=i;j++)
        printf("%d",a[j]);
            
    return 0;
 } 
运行无结果

img

我的解答思路和尝试过的方法
能正确输出结果
  • 写回答

2条回答 默认 最新

  • bekote 2021-12-17 09:58
    关注
    
     
     
    #include <stdio.h>
    int main()
    {
        int i,j;
        char a[20];
        for(i=0;;i++)
        {
            //输入要加&
            scanf("%c",&a[i]);
                if(a[i]=='\n')break;
                
        }
        //最后一个a[i]是换行,所以下标应该是[0,i-1]
        i = i-1;
        for(j=0;j<=i;j++)
        {
            //超出字母范围的要从前开始
                if(a[j]<='z'&&a[j]>='a')
                    a[j]='a' + (a[j]-'a'+4)%26;   
                else if(a[j]<='Z'&&a[j]>='A')
                    a[j]='A' + (a[j]-'A'+4)%26;  
        }
        for(j=0;j<=i;j++)
        //输出字符用%c
            printf("%c",a[j]);
        return 0;
     } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月17日

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi