解题思路:

    对照ASCLL码表的字符数值,对获取到的字符中的字母数值进行加减操作,不是字母的字符数值保持不变,最后逐一输出字符。

涉及知识点:

     字符的获取、字符长度的获取、ASCLL码表的运用等;

代码如下:


#include<stdio.h>
#include<string.h>
#define ling 128
int main()
{
	char zifu[ling];
	char xzifu[ling];
	int i,l;
	
	gets(zifu);    //获取字符串

	l=strlen(zifu);   //获取字符串长度

	for(i=0;i<l;i++)
	{
		
		if(zifu[i]>=65&&zifu[i]<=90||zifu[i]>=97&&zifu[i]<=122)  //对字符串中的字母进行加密(加减运算)
		{
			
            if(zifu[i]==90||zifu[i]==122)
			{
				xzifu[i]=zifu[i]-25;

			}
			else
			{
                xzifu[i]=zifu[i]+1;
			}
			
			
		}
		else    //字符串中不是字母的字符保持不变
		{
            xzifu[i]=zifu[i];
		}
		
	}

	

	for(i=0;i<l;i++)    //输出
	{
		printf("%c",xzifu[i]);
	}printf("\n");
	return 0;
}


点赞(8)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 10 条评论

10月前 回复TA
@向志权 错了
向志权 11月前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
	char x[100];
	int t,i;
	gets(x);
	t=strlen(x);
	for(i=0;i<t;i++)
	{
		if(x[i]>='a'&&x[i]<='z')
			x[i]++;
		printf("%c",x[i]);
	}
	return 0;
}
阿鹏 6年前 回复TA
@jrk 逗比
月夜魂 6年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
	char ch[100];
	int i;
	gets(ch);
	for(i=0;i<strlen(ch);i++)
	{
		if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')
		{
			if(ch[i]=='z'||ch[i]=='Z')
			{
				ch[i]-=25;
			}
		    else
			    ch[i]++;
		}
	}
	for(i=0;i<strlen(ch);i++)
	{
		printf("%c",ch[i]);
	}
	printf("\n");
	return 0;
}
月夜魂 6年前 回复TA
@jrk 漏了判断等于z或Z时的
jrk 6年前 回复TA
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>


int main()
{
    char s[100];
    gets(s);
    int length;
    length=strlen(s);
    int i;
    for(i=0;i<length;i++)
    {
        if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
        {
            s[i]++;
        }
    }
    puts(s);

    return 0;
}
林大山 7年前 回复TA
@林大山 谢谢
林大山 7年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
    int i;
    char a[100];
    gets(a);
    for(i=0;i<strlen(a);i++)
    {
        if(97<=a[i]&&a[i]<122)
            a[i]=a[i]+1;
        else if(a[i]==122)
            a[i]='a';
        else
            a[i]=a[i];
    }
    for(i=0;i<strlen(a);i++)
    {
        printf("%c",a[i]);
    }
    return 0;
}
for you 7年前 回复TA
@帝国时代 看不懂
帝国时代 7年前 回复TA
写得真好!