首页 > 其他分享 >【每日例题】蓝桥杯 C语言 凯撒加密

【每日例题】蓝桥杯 C语言 凯撒加密

时间:2023-10-28 15:34:20浏览次数:125  
标签:变为 ch 加密 C语言 蓝桥 单词 例题 凯撒 输入

凯撒加密

题目

题目描述
给定一个单词,请使用凯撒密码将这个单词加密。
凯撒密码是—种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即α变为d, b变为e,·,w变为z,Z变为a,g变为b,z变为c。
输入描述
输入格式:
输入一行,包含一个单词,单词中只包含小写英文字母,单词中的亨母个数不超过100.
输出描述
输出—行,表示加密后的密文。
输入输出样例
示例

输入输出样例
示例
输入
lanqiao
输出
odqtldr
运行限制
。最大运行时间:1s·最大运行内存:256M

思路分析

题目要求:

1.单词中的所有字母都在字母表上向后偏移 3 位后被替换成密文。即 a 变为 db 变为 e,⋯,w 变为zx变为 ay 变为 b,z 变为 c

2.单词中只包含小写英文字母,单词中的字母个数不超过 100

思路分析:

1.建立数组,输入字符串,数组最大容纳限度为99。

2.使用if判断输入字符串是否都为小写字母。

3.每位字母ascll码往后移动三位,若字母为x,y,z则变为a,b,c。

4.输出按数组形式输出。

代码(C语言)

 

#include<stdio.h>
#include<string.h>
int main()
{
	int i,l;
	char ch[99];
	gets(ch);
	l=strlen(ch);
	for(i=0;i<l;i++)
	{
		if((ch[i]>='a')&&(ch[i]<='z'))
		{
			if((ch[i]>='a')&&(ch[i]<='w'))
			{
				ch[i]+=3;
			}
			else if(ch[i]=='x')
			{
				ch[i]='a';
			}
			else if(ch[i]=='y')
			{
				ch[i]='b';
			}
			else if(ch[i]=='z')
			{
				ch[i]='c';
			}
		}
		else
		{
			return 0;
		}
	}
	for(i=0;i<l;i++)
	{
		printf("%c",ch[i]);
	}
	 return 0;
 } 

  

标签:变为,ch,加密,C语言,蓝桥,单词,例题,凯撒,输入
From: https://www.cnblogs.com/hcrzhi/p/17794118.html

相关文章

  • 【C语言Coding】第二十八天
    【例题1】2744.最大字符串配对数目-力扣(LeetCode)intmaximumNumberOfStringPairs(char**words,intwordsSize){intans=0;for(inti=0;i<wordsSize-1;i++){for(intj=i+1;j<wordsSize;j++){//字符串长度不相等intlen1=st......
  • C语言小案例
    1.从键盘输入3个实数,输出其中的最大值、最小值和平均值#include<stdio.h>intmain(){ doublenumber[3]; doublemax,min,average=0; inti; printf("Pleaseinputthreenumbers:"); for(i=0;i<3;i++){ scanf("%lf",&number[i]); } max=min=number[0]; ......
  • Switch case:例题
    includeusingnamespacestd;intmain(){inta[101],max=0,n=0,b;for(inti=0;i<=4;i++){cin>>a[i];}cin>>n;switch(n){case1:for(inti=0;i<5;i++){for(intj=i;j<5;j++){if(a[j]>a[i])swap(a[i],a[j]);}cout<<a[i]<<&q......
  • 10.28/例题2
    #include<bits/stdc++.h>usingnamespacestd;inta[6],n,sum=0,p,t;voidone(){ for(inti=0;i<5;i++){for(intj=0;j<5-i;j++){if(a[j]<a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t;}......
  • B站C语言第三课
    1,字符串的结束标志:’\0'//"abcdef";//'\0'-转义字符-0//0->数字0//‘0’->48//'a''b''c''0''1''2'//EOF-endoffile-文件结束标志 -1return0;2,~按(2进制)位取反1010----0101//原码--------......
  • 第14届蓝桥杯--保险箱
    第14届蓝桥杯--保险箱DP从后往前循环统计状态表示f[i][j]:第i位密码数j状态,(j=0产生退位,1不进不退,2产生进位)集合:所有的方案属性:min状态计算:importjava.util.Arrays;importjava.util.Scanner;/***ClassName:Main04*Package:baidu*Desc......
  • C语言--数组
    数组:一维数组1.一维数组的创建数组是一组相同类型的元素的集合。数组的创建:数组的元素类型数组名常量表达式(指定数组的大小)type_tarr_name[const_n]数组创建的实例:#include<stdio.h>intmain(){chararr1[10];intarr2[10......
  • C语言获取结构体变量地址并且输出结构体变量任意地址的数据
    #include<stdio.h>typedefstructTest{floatItem1;charItem2;intItem3;shortItem4;longItem5;doubleItem6;}TestStr1;intmain(){structTestTestStr;void*Ptr;TestStr.Item1=1.11;TestStr.It......
  • c语言代码练习40
    问:实现两个字符串的比较#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<assert.h>#include<string.h>intmain(){char*p1="abcdefg";char*p2="abcder";intret=strcmp(p1,p2);if(ret==0......
  • c语言代码练习39
    问:实现两个字符串的追加#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<assert.h>#include<string.h>intmain(){chararr1[20]="abcdef";chararr2[]="yue";strcat(arr1,arr2);printf("......