第二周《C语言及程序设计》实践项目36 用循环处理文字

Posted weixin_35827498

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周《C语言及程序设计》实践项目36 用循环处理文字相关的知识,希望对你有一定的参考价值。

【项目2:转着圈加密】

/*  
 * Copyright (c) 2016, CSDN学院  
 * All rights reserved.  
 * 文件名称:【项目2:转着圈加密】.cpp  
 * 作    者:张易安  
 * 完成日期:2016年 8 月 20 日  
 * 版 本 号:v1.0  
 *  
 * 问题描述:为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。
 * 加密办法,如图所示,每一个字母的密文是其后第4个字母,
 * 若超出了字母的范围,将A看作为Z的下一个字母,将a看作是z的下一个字线,依次顺延
 */ 
#include<stdio.h>
int main()

	char ch;
	while((ch=getchar())!='\\n')
	
		if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='z'))
		
			ch=ch+4;
			if((ch>'Z'&&ch<'Z'+4)||(ch>'z'))
			  ch=ch-26;
		
		putchar(ch);
	
	
	return 0;
  

运行结果


心得

越来越不好做了。。。


【项目3:消除多余的空格】

/*  
 * Copyright (c) 2016, CSDN学院  
 * All rights reserved.  
 * 文件名称:【项目3:消除多余的空格】.cpp  
 * 作    者:张易安  
 * 完成日期:2016年 8 月 20 日  
 * 版 本 号:v1.0  
 *  
 * 问题描述:从键盘上的输入一句话,直到按回车键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格。
 */ 
#include<stdio.h>
int main()

	char ch,a=0;
	while((ch=getchar())!='\\n')
	
		if(ch!=' ')
		
			a=0;
			putchar(ch);
		
		else if(a==0)
		
			putchar(ch);
			a=1;
		
	
  

运行结果


【项目4:血型统计】

/*  
 * Copyright (c) 2016, CSDN学院  
 * All rights reserved.  
 * 文件名称:【项目4:血型统计】.cpp  
 * 作    者:张易安  
 * 完成日期:2016年 8 月 20 日  
 * 版 本 号:v1.0  
 *  
 * 问题描述:黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了血型,需要统计各种血型的样本数目。
 * 输入:血型序列(A/B/O/C,C代表AB型血,输入以X结束)
 * 输出:各种血型的数量
 */ 
#include<stdio.h>
int main()

	int a,b,c,d;
	char blood;
	scanf("%c",&blood);
	while(blood!='X')
	
		switch(blood)
		
			case 'A':
				a++;
				break;
			case 'B':
			    b++;
				break;
			case 'AB':
			    c++;
				break;
			case 'O':
			    d++;
				break;		
				
		
		scanf("%c",&blood);
	  
	 printf("A:%d B:%d AB:%d O:%d",a,b,c,d);
	 
	 return 0;
运行结果


心得

没有想到用case,很巧妙

【项目5:有多少符号】

。。。算了,自己也没有做出来,没有必要再贴了。。。

以上是关于第二周《C语言及程序设计》实践项目36 用循环处理文字的主要内容,如果未能解决你的问题,请参考以下文章

第二周《C语言及程序设计》实践项目35 问题求解方法——迭代

程序语言与编程实践5-; Java实操2 | 第二周作业及思路讲解 | 基础知识强化考察

第二周PSP

第二周psp

20165232 第二周学习总结

第二周psp