第三十六讲项目 用循环处理文字(血型统计,消除空格等)
来源:互联网 发布:矩阵的秩怎么算 编辑:程序博客网 时间:2024/05/16 01:39
任务和代码:
【项目1:M
小明让同学传纸条给小丽,纸条上写着M
他们俩的花招瞒不过老师,给你一个程序,输入M
老师真坏!下面,该你运行程序了,明白这样的处理方式后,扩展完成后面的两项工作:
#include <stdio.h> int main() { char ch; while((ch=getchar())!='\n') { putchar(ch-4); } return 0; }
因为他们俩人的“加密”手段泄露,决定纸条由人传,加密数字(1-9)用两人约好的手势传。所以在解密前,需要将加密数字提前输入。例,输入4(回车)M
补全后的代码:
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/09/10*版本号:V1.0**问题描述:加密的文字。*程序输出:被加密的内容。*/#include <stdio.h>int main(){ char ch; int n; printf("Input n:"); scanf("%d", &n); getchar(); printf("Input the characters:"); while((ch=getchar())!='\n') { putchar(ch-n); } return 0;}
输出结果:
任务和代码:
【项目2:转着圈加密】
为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。
加密办法,如图所示,每一个字母的密文是其后第4个字母,若超出了字母的范围,将A看作为Z的下一个字母,将a看作是z的下一个字线,依次顺延。
如″Wonderful!″转换为″Asrhivjyp!″。
输入一行字符,要求输出其相应的密码。
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/09*版本号:V1.0**问题描述:加密解密。*程序输出:加密后的密文。*/#include <stdio.h>int main( ){ char c; while ((c=getchar( ))!='\n') { if((c>='a'&&c<='z')|| (c>='A'&&c<='Z')) { c=c+4; if((c>'Z' && c<='Z'+6) || (c>'z')) c=c-26; } putchar(c); } printf("\n"); return 0;}
相互出结果:
任务和代码:
【项目3:消除多余的空格】
从键盘上的输入一句话,直到按回车键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格。
例如,输入:I am a teacher.,输出I am a teacher.
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/09*版本号:V1.0**问题描述:消除多余的空格。*程序输出:消除空多余空格后的输出。*/#include <stdio.h>int main(){ char ch; int frontIsSpace = 0; printf("Input a string:"); while( ( ch=getchar() )!= '\n') { if (ch!=' '){ frontIsSpace=0; putchar(ch); } else if(frontIsSpace==0){ frontIsSpace = 1; putchar(ch); } } printf("\n"); return 0;}
输出结果:
任务和代码:
【项目4:血型统计】
黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了血型,需要统计各种血型的样本数目。
输入:血型序列(A/B/O/C,C代表AB型血,输入以X结束)
输出:各种血型的数量
输入样例:ABCAOCOAOOBX
输出样例:A:3 B:2 O:4 AB:2
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/09*版本号:V1.0**问题描述:血型统计。*程序输出:各种血型的数量。*/#include <stdio.h>int main(){ char ch; int a=0, b=0, c=0, o=0; printf("Input :"); while ((ch=getchar()) != 'X'){ if (ch == 'A') a++; if (ch == 'B') b++; if (ch == 'C') c++; if (ch == 'O') o++; } printf("A: %d\tB: %d\tAB: %d\tO: %d\n", a, b, c, o); return 0;}
输出结果:
任务和代码:
【项目5:有多少符号】
输入一行文字,以回车结束,统计并输出其中数字、空格、字母出现的次数,以及输入的字符总数。
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/09*版本号:V1.0**问题描述:字符统计。*程序输出:字符个数。*/#include <stdio.h>int main(){ int cNum=0, dNum=0, aNum=0, bNum=0; char ch; printf("Input a string:"); while((ch=getchar()) != '\n'){ if (ch == ' ') bNum++; if (ch>='0'&&ch<='9') dNum++; if ((ch >='a' && ch<='z') || (ch>='A' && ch<='Z')) cNum++; aNum++; } printf("数字:%d\t, 字母:%d\t, 空格:%d\t, 总数:%d\n", dNum, cNum, bNum, aNum);//总数中含有特殊字符个数 return 0;}
输出结果:
- 第三十六讲项目 用循环处理文字(血型统计,消除空格等)
- 第三十六讲项目四 血型统计
- 第三十六讲项目4——血型统计
- 36-用循环处理文字-血型统计
- 第三十六讲项目三 消除多余的空格
- C语言初步-第36讲: 用循环处理文字(血型统计 )
- 第三十六课 用循环处理文字 【项目1-5】
- 第三十六讲项目3——消除多余的空格
- 第三十七讲|用循环处理文字
- 第36讲-项目四-血型统计
- 第二十八讲至第三十一讲 编程项目 字符统计 字符串处理函数(1)
- 第36讲项目4——血型统计
- 第三十四讲 项目 用循环累加
- 项目36.4 血型统计
- 第三十六讲项目二 转着圈加密
- 第36讲-项目三-消除多余的空格
- 第十周项目-血型统计
- 第十周项目血型统计
- jQuery中常用动画效果函数(日常整理)
- java编程思想读书笔记 第十一章 持有对象(总结)
- 10-08
- Moving Tables
- 383. Ransom Note
- 第三十六讲项目 用循环处理文字(血型统计,消除空格等)
- linux信号量简介(内核态)
- 写VS配置文件时遇到的一个操蛋问题
- android程序设计中输入手机号,验证格式,并倒计时几秒后再次发送
- 隐藏EditText输入下划线
- 欢迎使用CSDN-markdown编辑器
- 深度学习 VS 传统的机器学习
- Android 6.0新特性之WebView不能适配屏幕解决方案
- Python学习笔记 --- 'password' is an invalid keyword argument for this function解决办法