解题思路:用getchar()函数来实现字符密码翻译:一个元素一个元素进行判断


注意事项:'z' 'Z' 需要考虑如何转换,用ASCII码转换:‘Z’-25 = ‘Z’ 同理‘z’可知。

参考代码:

#include<stdio.h>
int main()
{
	char c;
	while((c=getchar())!='\n')
	if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
	{
		if(c=='z'||c=='Z') 
		{
			c=c-25;
		}
		else 
		{
			c = c + 1;
		}
		printf("%c",c);
	}
	else
	{
		printf("%c",c);
	}
	return 0;
}


点赞(10)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 23 条评论

菜农 5年前 回复TA
@cpython3 #include<stdio.h> #include<string.h>  int main() {     char s[1000];     gets(s);          int len = strlen(s);     char *p_s = s ;     for(int i = 0 ; i < len ; i ++)     {         if(*p_s >= 'a' && *p_s <= 'y')             *p_s = *p_s+ 1;         else if(*p_s == 'z')             *p_s = 'a' ;                  p_s ++ ;     }     puts(s);     return 0; }
豆豆哦 5年前 回复TA
@豆豆哦 你说的是对的 谢谢
SHUN0216 5年前 回复TA
@豆豆哦 用scanf输入字符串如果在串首遇到空格的话,跳过,继续寻找下一个非空格字符, 如果在串中遇到空格时,结束字符串的输入。所以你输入了a  b实际上只输入了a一个字符
豆豆哦 5年前 回复TA
#include<stdio.h>
#include<string.h>
void main(){
	char a[100];
	scanf("%s",&a);
	for(int i=0;i<strlen(a);i++){
		if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')){
			if(a[i]=='z'||a[i]=='Z'){
				a[i]=a[i]-25;
			}else{
				a[i]=a[i]+1;
			}
		}
		printf("%c",a[i]);
	}
	printf("\n");
}

看着没错啊 通不过
豆豆哦 5年前 回复TA
@cpython3 #include<stdio.h> #include<string.h> void main(){ 	char a[100]; 	scanf("%s",&a); 	for(int i=0;i<strlen(a);i++){ 		if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')){ 			if(a[i]=='z'||a[i]=='Z'){ 				a[i]=a[i]-25; 			}else{ 				a[i]=a[i]+1; 			} 		} 		printf("%c",a[i]); 	} 	printf("\n"); }哪里有错啊
cpython3 5年前 回复TA
@cpython3 @bomuovo 额...
cpython3 5年前 回复TA
@cpython3 @bomuovo 额...
柏木英理 6年前 回复TA
@cpython3 从理解题目而言,我认为这道题是要输入一行字符,而不是字符串,而且你这个程序尽管测试通过,但就是错的啊
蓝姬的巢 6年前 回复TA
@cpython3 @smartZhou 晕,看来评定系统不是很严谨
cpython3 6年前 回复TA
@cpython3 @xjwcharles 知道这个,但是可以测试通过,属于OJ不严谨而已。