急求一道c语言编程题!!!

2024-11-26 21:37:53
推荐回答(4个)
回答1:

实在不好意思,写的太匆忙,考虑不仔细,刚修改了,程序中对大写小写字母都可以按你给的要求进行转换了:)
#include
#include
#define change 0
#define N 50
void main(){
char s[N];
int i=0;
printf("输入电报文\n");
scanf("%s",&s);
if(change)
printf("输出原码:%s\n",s);
else{
printf("输出密码:");
while(s[i]!='\0'){
if(s[i]>='a'&&s[i]<'z'||s[i]>='A'&&s[i]<'Z')
printf("%c",s[i]+1);
else if(s[i]=='z')
printf("%c",'a');
else if(s[i]=='Z')
printf("%c",'A');
else printf("%c",s[i]);
i++;
}
printf("\n");
}
}

回答2:

注意: 楼上的程序遇到字符 z 会出错哟

准确的说是除了a-x这几个字符能蒙对外,其他
的字符都会错,本人程序不但ansi 字符可以正
确显示,而且还能完美支持中文字符,实乃一个
钟头才出一份的稀有精品

#define change 1

mm(char* s){

if (change){
register char c;

puts(" 密码密文:\n" );
for (;c=*s ;s++ )
{
if (
((c<'z')&&(c>='a'))
||
((c<'Z')&&(c>='A'))
)

{
putchar(c+1);

}else{

if(c=='z'){
putchar('a');

}else{

if(c=='Z'){
putchar('A');

}else{
putchar(c);
}
}
}

}

return change;
}else{

printf(" 密码原文\n%s\n",s );

return change;

}

}

int main (int an,char** as )
{

if (an>1)
{
mm(as[1]);

}

}

使用方法:

程序名 密码

按回车

得结果

回答3:

#include
main()
{
char a[100];
int i,n;
gets(a);
n=strlen(a)-1;
for(i=0;iif(a[i]>='a'&&a[i]<='z')
{a[i]+=1;
printf("%c",a[i]);}
else
printf("%c",a[i]);
getch();
}

回答4:

上面的回答好贱!

那是广告! 真贱