第1个回答 2011-06-22
这个是你要的程序,比楼上的精简,vc6通过调试运行了。
#include <stdio.h>
main()
{
char str[200]="";
int nCounti;
printf("input the content:\n");
gets(str);
for(nCounti=0;*(str+nCounti)!='!';nCounti++)
{
if((*(str+nCounti)>='A'&&*(str+nCounti)<='Z')||(*(str+nCounti)>='a'&&*(str+nCounti)<='z'))
{
*(str+nCounti)=*(str+nCounti)+4;
if((*(str+nCounti)>'z')||(*(str+nCounti)>'Z'&&*(str+nCounti)<'a'))
{
*(str+nCounti)=*(str+nCounti)-26;
}
}
}
puts(str);
getchar();
}本回答被提问者和网友采纳
第2个回答 推荐于2018-03-11
#include<stdio.h>
void main()
{
int c;
while(c = getchar())
'a'<=c&&c<='v'||'A'<=c&&c<='V'?putchar(c+4):'w'<=c&&c<='z'||'W'<=c&&c<='Z'?putchar(c-22):putchar(c);
}
----------------------------------------
估计这是代码最少的
第3个回答 2011-06-22
#include<stdio.h>
#include<string.h>
int main()
{
char p[80];
char ch;
int len;
int i=0;
while((ch=getchar())!= '!')
{
p[i] = ch;
i++;
}
len = i;
p[len] = '\0'; //加上结束符。
for(i =0;i<len;i++)
{
if( p[i]>='A' && p[i]<='V')
{
p[i] = p[i]+4;
}
if(p[i] == 'W')
{
p[i] = 'A';
}
if(p[i] == 'X')
{
p[i] = 'B';
}
if(p[i] == 'Y')
{
p[i] = 'C';
}
if(p[i] == 'Z')
{
p[i] = 'D';
}
}
printf("%s",p);
getchar();
return 0;
}