展开全部
#include<stdio.h>
#include<ctype.h>
int main()
{int i,j,err=0;
char s[21];
for(i=0;i<20&&(s[i]=getchar())!='\n';i++)
{if(!isalpha(s[i]))
{err=1;
break;
}
if(isupper(s[i]))
{s[i]+=4;
if(s[i]>'Z')s[i]-=26;
}
if(islower(s[i]))
{s[i]+=4;
if(s[i]>'z')s[i]-=26;
}
}
s[i]='\0';
printf("%s\n",err?"err":s);
return 0;
}
展开全部
错误太多。
#include <stdio.h>
int main()
{
char s[20],b[20];
scanf_s("%s",s,20);
for(int i=0; s[i]!='\0'; i ++)
{
char t = s[i];
int offset=0;
if(t>='a'&& t<='z')
t-=32;
if(t>='A'&& t<='V') offset = 4;
else if(t>='W'&& t<='Z') offset = -22;
else offset = 0;
b[i] = s[i]+offset;
}
b[i] = '\0';
printf("%s\n", b);
return 0;
}
追问
请问这个offset在这里起什么作用哇
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
char a[21]={'\0'},b[21],flag=0;
scanf_s("%s",a,21);
for(int i=0;i<20&&a[i]!='\0';i++)
{
if((a[i]>='a'&&a[i]<='z')
||(a[i]>='A'&&a[i]<='Z'))
{
flag=1;
b[i]=a[i]+4;
if(b[i]>'Z'&&b[i]<'a')
{
b[i]=b[i]-'Z'-1+'A';
}
else if(b[i]>'z')
{
b[i]=b[i]-'z'-1+'a';
}
b[i+1]='\0';
}
else
{
flag=0;
break;
}
}
if(flag==0)
{
printf("error\n");
}
else
{
printf("%s\n",b);
}
return 0;
}
int main()
{
char a[21]={'\0'},b[21],flag=0;
scanf_s("%s",a,21);
for(int i=0;i<20&&a[i]!='\0';i++)
{
if((a[i]>='a'&&a[i]<='z')
||(a[i]>='A'&&a[i]<='Z'))
{
flag=1;
b[i]=a[i]+4;
if(b[i]>'Z'&&b[i]<'a')
{
b[i]=b[i]-'Z'-1+'A';
}
else if(b[i]>'z')
{
b[i]=b[i]-'z'-1+'a';
}
b[i+1]='\0';
}
else
{
flag=0;
break;
}
}
if(flag==0)
{
printf("error\n");
}
else
{
printf("%s\n",b);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
青青子衿,悠悠我心.但为君故,沉吟至今.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询