编程序将“china”译成密码

布满荆棘的人生 2023-07-10 05:26 73阅读 0赞
  1. /*请编程序将“China”译成密码,密码规律是:用原来的字母后面 第4个字母代替原来的字母。分别用putchar函数和printf函数输出*/
  2. #include<stdio.h>
  3. int main(){
  4. char c1,c2,c3,c4,c5;
  5. printf("请输入:\n");//其余4个直接copy即可
  6. c1 = getchar();
  7. c1 += 4;
  8. printf("编译完成:\n");
  9. putchar(c1);
  10. printf("\n");
  11. printf("%c\n",c1);
  12. }

谭浩强C程序设计(第四版)p84第6题
复习:
1.getchar()
2.+=
说明:
1.此程序借用ASCⅡ值完成
2.只能一个字符一个字符输入

  1. /*请编程序将“China”译成密码,密码规律是:用原来的字母后面 第4个字母代替原来的字母。分别用putchar函数和printf函数输出*/
  2. #include<stdio.h>
  3. int main(){
  4. char c1[100];
  5. int n,i=0;
  6. printf("请输入单词:\n");
  7. do{
  8. scanf("%c",&c1[i]);
  9. }
  10. while(c1[i++]!='#');
  11. printf("输出结果:\n");
  12. for(i=0;c1[i]!='#';i++){
  13. if((c1[i]>='a'&&c1[i]<='v')||(c1[i]>='A'&&c1[i]<='V'))
  14. printf("%c",c1[i]+4);//前22个用+4
  15. if((c1[i]>='w'&&c1[i]<='z')||(c1[i]>='W'&&c1[i]<='Z'))
  16. printf("%c",c1[i]-22);//后4个用-22
  17. }
  18. }

这是借助数组的第二种解答
复习:
1.i++与++i的不同
2.do……while的用法
说明:
1.可以连续输入,’#‘结束输入后开始进行译码
2.涉及到前22个与后4个不同问题,功能更加强大
3.使用了ASCⅡ码

  1. /*请编程序将“China”译成密码,密码规律是:用原来的字母后面 第4个字母代替原来的字母。分别用putchar函数和printf函数输出*/
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #define MAXQSIZE 26
  5. typedef struct{
  6. char *base;
  7. int front;//下标
  8. int rear;//下标
  9. }SqQueue;
  10. int main(){
  11. SqQueue Q;
  12. int n=65,i;
  13. char c1;
  14. Q.base=(char *)malloc(MAXQSIZE*sizeof(char));//这里注意是base,malloc是为了返回首地址
  15. Q.front=Q.rear=0;
  16. for(i=0;i<MAXQSIZE;i++)
  17. Q.base[i]= n++;
  18. printf("输入要转码的字母:\n");
  19. scanf("%c",&c1);
  20. for(Q.front=0;Q.front<MAXQSIZE;Q.front++){ //front
  21. if(Q.base[Q.front] == c1){
  22. Q.rear = (Q.front+4)%MAXQSIZE;
  23. printf("输出:\n%c",Q.base[Q.rear]);
  24. }
  25. }
  26. }

这是借助循环队列的第三种做法
复习:
1.循环队列
2.malloc
说明:
1.这个译码机制与前两个完全不同,前两个只是ASCⅡ的增加减,这个是26个字母形成一个圈,寻找第四个位置然后输出
2.字符只能一个一个输入
3.利用ASCⅡ输入数据,然后进行寻找
4.可以加上对小写字母的寻找

发表评论

表情:
评论列表 (有 0 条评论,73人围观)

还没有评论,来说两句吧...

相关阅读

    相关 lesscss

    推荐使用HBuilder编辑器,国人开发的,代码提示很好。 npm install -g less 安装less之后,可以使用lessc进行less文件的编译,命令