从键盘输入一批字符,以@结束,按要求加密并输出。

题目描述:

输入
从键盘输入一批字符,占一行,以@结束。

输出
输出占一行
加密规则:
1)、所有字母均转换为小写。
2)、若是字母’a’到’y’,则转化为下一个字母。
3)、若是’z’,则转化为’a’。
4)、其它字符,保持不变。
样例输入
Kyh520@
样例输出
lzi520
注意:3)与20是并列的,并不是说先将字母变化后在进行判断,是不是’z’。、

代码一

# include<stdio.h>
int main()
{
	char ch;
	int count1,count2;
	while((ch=getchar())!='@') //此处逻辑运算符的优先级高于赋值运算符,加括号提高优先级
	{
		if(ch>='A'&&ch<='Z')
		{
			ch=ch+'a'-'A';
		 } 
		 if(ch>='a'&&ch<='z')
		 {
		 	if(ch=='z')
		 	{
		 		ch='a';
			  } 
			  else
			  {
			  	ch=ch+1;
			  }
		 }
		 printf("%c",ch);
	}
	return 0;
}

注意:逻辑运算符与其他运算符相比较,其优先级高于赋值运算符的优先级,但低于比较运算符的优先级。
其中 高于高于

代码二

# include<stdio.h>
int main()
{
	char ch[1000];
	int count1,count2;
	for(count1=0; ;count1++)
	{
		scanf("%c",&ch[count1]);
		if(ch[count1]=='@')
		{
			break;
			}	
	}
	for(count2=0;count2<count1;count2++)
	{
		if(ch[count2]>='A'&&ch[count2]<='Z')
		{
			ch[count2]=ch[count2]+'a'-'A';
		}
		if(ch[count2]>='a'&&ch[count2]<='z')
		{
					if(ch[count2]=='z')
					{
						ch[count2]='a';
					}
					else
					{
					ch[count2]+=1;	
					}
					printf("%c",ch[count2]);
		}
		
	}
	return 0;
}
发布了43 篇原创文章 · 获赞 1 · 访问量 777

猜你喜欢

转载自blog.csdn.net/Du798566/article/details/104196787