黑马程序员技术交流社区

标题: 基础测试题——编程实现对键盘输入的英文名句子进行加... [打印本页]

作者: 于鸿鹏    时间: 2015-10-20 09:31
标题: 基础测试题——编程实现对键盘输入的英文名句子进行加...
基础测试当中的题目  怎么做  最好能加上注释  谢谢各位大神

编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不 变。比如245a95n加密后是245bcd95opq。

作者: Brisingr    时间: 2015-10-20 10:52
基础测试题也可以论坛问么。。。
作者: 苏打水    时间: 2015-10-20 11:25
#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
   
    char s[20]={0};
    char a[10]={0};
    char p[61]={0};
    int i=0;
    gets(s);//输入字符串,注意考虑溢出问题,可做修改
    while(s[i])//遍历这个字符串
    {
        a[0]=s[i];
        i++;
        if((int)a[0]<97||(int)a[0]>122)//判断相应的字符是否为字母
        {
            strcat(p,a);//将字符串a追加到p
        }else
        {
            sprintf(a,"%c%c%c",a[0]+1,a[0]+2,a[0]+3);//若是字母则将该字母后三个字母合并成一个字符串输入到a
            strcat(p,a);
            memset(a,0,sizeof(a));//将a清空
        }
    }
    printf("%s\n",p);

作者: Brisingr    时间: 2015-10-20 13:04
#include <stdio.h>
#include<string.h>

void gression(char str[],int n){
        char ch = str[n];
        for(int i=strlen(str)+3;i>n+2;i--){
                str[i] = str[i-2];
               
        }
        for(int i=1;i<=3;i++){
                if(str[n] == 90){
                        str[n] = 65;
                        ch = str[n]-1;
                }else if(str[n] == 122){
                         str[n] = 97;
                         ch = str[n]-1;
                }else{
                        str[n]=ch+i;
                }
                 
                  n++;
        }
}
int main(){
char str[100];
printf("请输入一个字符串:\n");
scanf("%s",str);
for(int i=0;i<strlen(str);i++){
        if(str[i]>64&&str[i]<91||str[i]>96&&str[i]<123){
                gression(str,i);
                i=i+2;
        }
}
puts(str);
return 0;
}
作者: Brisingr    时间: 2015-10-20 13:09
苏打水 发表于 2015-10-20 11:25
#include

int main(int argc, const char * argv[]) {

还是你的法子效率高,我怎么就没想到用3个数组呢。。。
作者: 于鸿鹏    时间: 2015-10-30 13:56
Brisingr 发表于 2015-10-20 10:52
基础测试题也可以论坛问么。。。

这个测试题我已经提交完之后再问的,没有做出来,
作者: 于鸿鹏    时间: 2015-10-30 14:00
Brisingr 发表于 2015-10-20 13:04
#include
#include

有时间测试一下,谢谢您的回复




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2