不知道哪里错了,输出不来结果

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

#include
#include
int main()
{ char a[100];
  int k,i,lena;
  scanf("%s%d",&a[100],&k);
  lena=strlen(a);
 while(1)
  { if(k>26)
    k=k%26;
    if(k<=26)
     break;
  }
  for(i=0;i=65&&a[i]<=90)
   { a[i]=a[i]+k;
     if(a[i]>90)
     { a[i]=65+(a[i]-90);
     }
   }
   else if(a[i]>=97&&a[i]<=122)
   { a[i]=a[i]+k;
     if(a[i]>122)
      { a[i]=97+(a[i]-122);
       } 
   }
  }
  for(i=0;i"%s\n",a[i]);
  }

    return 0;
}

  scanf("%s%d",a,&k);

for(i=0;i"%s\n",a[i]);改成printf("%s\n",a);