恺撒密码C语言 10
输入的第一行为小于100的正整数n,代表计算的数据组个数。然后是n组数据输入,每一组输入包括2行,第1行是K值,-26<K<26;第2行是明文串,其长度不超过100个字符...
输入的第一行为小于100的正整数 n ,代表计算的数据组个数。然后是 n 组数据输入, 每一组输入包括2行, 第1行是 K 值, -26< K < 26;第2行是明文串,其长度不超过 100 个字符(包含26个大小写字符,不包含空格)。
输出:输出其密文
如果输入:2
3
itisapen
17
Helloworld
则输出:lwlvdshq
Yvccfnficu 展开
输出:输出其密文
如果输入:2
3
itisapen
17
Helloworld
则输出:lwlvdshq
Yvccfnficu 展开
1个回答
展开全部
这个简单啊,一条语句就搞定,*miwen=*mingwen+K%26;
完整代码如下:
/*输入的第一行为小于100的正整数 n ,代表计算的数据组个数。
然后是 n 组数据输入, 每一组输入包括2行, 第1行是 K 值,
-26< K < 26;第2行是明文串,其长度不超过 100 个字符(包含26个大小写字符,不包含空格)。
输出:输出其密文
如果输入:2
3
itisapen
17
Helloworld
则输出:lwlvdshq
Yvccfnficu*/
#include<stdio.h>
int main()
{
int n,K,i,len;
char str[101];
printf("Input a number n(0<n<100):");
scanf("%d",&n);
while(n--)
{
scanf("%d",&K);
scanf("%s",str);
len=strlen(str);
for(i=0;i<len;i++)
{
*(str+i)='a'+(*(str+i)-'a'+K+26)%26;
}
*(str+len)='\0';
printf("%s\n",str);
}
return 0;
}
完整代码如下:
/*输入的第一行为小于100的正整数 n ,代表计算的数据组个数。
然后是 n 组数据输入, 每一组输入包括2行, 第1行是 K 值,
-26< K < 26;第2行是明文串,其长度不超过 100 个字符(包含26个大小写字符,不包含空格)。
输出:输出其密文
如果输入:2
3
itisapen
17
Helloworld
则输出:lwlvdshq
Yvccfnficu*/
#include<stdio.h>
int main()
{
int n,K,i,len;
char str[101];
printf("Input a number n(0<n<100):");
scanf("%d",&n);
while(n--)
{
scanf("%d",&K);
scanf("%s",str);
len=strlen(str);
for(i=0;i<len;i++)
{
*(str+i)='a'+(*(str+i)-'a'+K+26)%26;
}
*(str+len)='\0';
printf("%s\n",str);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
TESOL官网
2024-02-20 广告
2024-02-20 广告
TESOL和TEFL的区别如下:1. 定义:TESOL是Teaching English to Speakers of Other Languages的缩写,意为为其他语言者教授英语。而TEFL是Teaching English as a ...
点击进入详情页
本回答由TESOL官网提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询