第十一次

1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)

#include<stdio.h>
#include<string.h>
#define N 1000
int main()
{
	char str[N+1];
	int i,a=0,b=0,c=0,d=0,e=0;
	printf("请输入一串字符:\n");
	gets(str);
	for(i=0;i<strlen(str);i++)
	{
		if(str[i]>=65&&str[i]<=90)
		{
			a++;
		}
		else if(str[i]>=97&&str[i]<=122)
		{
			b++;
		}
		else if(str[i]==32)
		{
			c++;
		}
		else if(str[i]>=48&&str[i]<=57)
		{
			d++;
		}
		else
		{
			e++;
		}
	}
	printf("大写字母%d个,小写字母%d个,空格%d个,数字%d个,其他字符%d个",a,b,c,d,e);
	return 0;
}

  

2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。

#include<stdio.h>
#include<string.h>
int main()
{
	char password[]="secret",input[8];
	int i;
	printf("??ê?è?áù???ü??:\n");
	i=1;
	scanf("%7s",input);
	while(1)
	{
		if(strcmp(password,input)==0)
	    {
		    printf("μ???3é1|\n");
		    break;
	    }
	    printf("?ü??′í?ó????D?ê?è?\n");
		if(i>=3)
		{
		   	printf("???§ò?±??3?á\n");
		    break;
		}
        scanf("%7s",input);
		i++;
    }
	return 0;
}

  

3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。

#include<stdio.h>
#include<string.h>
#define N 100
int panduan(char str[N]);
int main()
{
	int a;
	char str[N];
	printf("??ê?è?ò???×?·?′?\n");
	gets(str);
	a=panduan(str);
	if(a==1)
	{
		printf("ê?????êy\n");
	}
	else if(a==0)
	{
		printf("2?ê?????êy\n");
	}
	return 0;
}
int panduan(char str[N])
{
	int i,j,n;
	n=strlen(str)-1;
	for(i=0,j=n-i;i<=j;i++,j--)
	{
		if(str[i]!=str[j])
		{
			return 0;
		}
	}
	return 1;
}

  

实验总结:

1. 字符串的处理函数的头函数为string.h   字符串比较strcmp(字符串1,字符串2)字符串长度的函数strlen

2.输入字符串时%s是不能输入空格,gets可以输入空格

3.字符串结束的标志是‘0’ 所以存入数组时数组长度要加一位

课程体会

1.学了一个学期,代码写的也得上千行了吧,刚开学时,完全不懂c语言是个什么东西,更不知道c语言能干什么,一提计算机想到的就是黑客,后来才知道c语言是计算机编程语言,不需要任何运行环境支持便能运行的编程语言,可以自己写代码,编出小的程序,或者小游戏。

2.我认为学习c语言上课一定要好好听课,关于课本,我本人是没怎么看过,课本比脸都白,还一定要多写代码,没事时,在玩游戏之余打开c写写代码也是比较享受的。关于教训,就是写博客随笔的一定记得保存草稿,否则的话费半天劲写的东西说没就没。

3.博客这种提交作业的形式,还是比较好的,相当于系统的把自己写的实验又存了起来,想看时随时可以看,还有在写实验题时,遇到磕绊可以上博客看看系里大神们写的代码,作参考;还能看到同学们不同的写代码的思路。但是问题来了,就会有同学借此抄袭。关于下届学弟学妹们,当然会推荐给他们继续这种教学形式了。

4.感谢老师和助教,你们都很好,耐心的指导了每位有问题的同学,很有责任心,谢谢助教用自己的课余时间来帮助我们这群初学的学弟学妹们,还有谢谢老师不辞辛苦的看55位同学的所写的代码,对于我们学习c语言帮到了很多。

时间: 2024-10-28 22:20:54

第十一次的相关文章

android产品研发(二十一)--&gt;UI优化

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android产品研发过程中的代码Review.通过代码Review能够提高产品质量,增强团队成员之间的沟通,提高开发效率,所以良好的产品开发迭代过程中,代码Review是一个必不可少的步骤.那么如何进行代码Review呢?我们主要讲解了团队成员之间的代码Review,代码lint检查,开发规范等方面的知识点,更多关于代码Review相关的知识可参考我的:android产品研发(二十)–>代码Review 本文我们将讲解一下android U

荣耀的双十一:为冠军而来

前些日子,第三方数据机构发布报告指出华为手机在出货量方面已经赶超小米,之后又有知名自媒体指出,荣耀仅2014年第一年的销量就达到2000万部,而2015年更是只用半年时间就达到2000万部销量.该自媒体指出,华为在2015年的销量将会铁定超越1亿部,而按照目前发展速度来看,未来荣耀或将实现单品牌赶超小米的速度. 这种磅礴而凶猛的发展势头,使得荣耀对双十一也信心满满. 10月30日,荣耀官方微博发布消息,内容和配图均以"为冠军而来"为口号,力图抢夺双十一手机销量冠军的意图可见一斑.除此之

我的编程之路(二十一) 规范

不知不觉一周就过去了,这周细想真的没有做成什么,因为几乎都是做了改,改了做··· 1.代码规范 以前自认为自己很注重代码规范,但是没有想到自己项目组的开发会将代码规范审查的那么严谨,这突然让我想到之前说到程序员都喜欢追求完美,都喜欢自己和自己的风格一致,否则就会觉得别扭,不过与此不同,这是团队开发,代码规范是为了统一风格,便于别人的阅读与后人的修改与维护,虽然因为这我前前后后改了三次dao层的代码,一是要用公司封装的借口,二是要把异常处理都放在这一层或者service层,三是要用公司自己写的工具

QT开发(二十一)——QT布局管理器

QT开发(二十一)--QT布局管理器 一.布局管理器简介 QT中使用绝对定位的布局方式无法自适应窗口的变化. QT中提供了对界面组件进行布局管理的类,用于对界面组件进行管理,能够自动排列窗口中的界面组件,窗口大小变化后自动更新界面组件的大小. QLayout是QT中布局管理器的抽象基类,通过对QLayout的继承,实现了功能各异且互补的布局管理器. 布局管理器不是界面组件,而是界面组件的定位策略. 任意容器类型的组件都可以指定布局管理器. 同一个布局管理器管理中的组件拥有相同的父组件,在设置布局

struts2官方 中文教程 系列十一:使用XML进行表单验证

在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让您可以内置到Struts 2框架的验证器. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html 下载本章节代码 为了使用户能够编辑存储在Person对

《构建之法》第十一、十二章学习总结

第十一章的内容是软件设计与实现. 在第一节中,讲的是关于分析和设计方法,向我们介绍在"需求分析"."设计与实现"阶段."测试""发布"阶段该搞清楚的问题. 在第二节中,讲的是关于图形建模和分析方法.在表达实体和实体之间的关系时,可以用到思维导图(Mind Map).实体关系图(ERD).UCD ;在表达数据的流动时,可以用到DFD工具:在表达控制流的时候可以用到FSM工具:前面提到的这些图形建模方法各有特点,UML却可以有一个

javascript高级程序设计 第十一章--DOM扩展

javascript高级程序设计 第十一章--DOM扩展DOM最主要的扩展就是选择符API.HTML5和Element Traversal Selectors API:定义了两个方法 querySelector() 和 querySelectorAll(),能够基于CSS选择符从DOM中取得元素.querySelector()方法接收一个CSS选择符,返回该模式匹配的第一个元素,querySelectorAll()接收的参数一样,但是返回NodeList实例: matchesSelector()

第十一周PSP&amp;进度条

PSP 一.表格: D日期     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月24号 站立会议 分配任务&设计final方案 13:00 13:30 0 30 30   编写 bug修正报告 14:35 15:14 0 39 40 11月25号 站立会议 继续完成没完成任务 13:00 13:30 0 30 30   编码 新亮点 14:45 18:23 21 207 180   数据 数据收集整理 19:21 20:48 13  

c++ primer 5th 笔记:第十一章

第十一章:关联容器 笔记 1. 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的.与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的. 2. 关联容器支持高效的关键字查找和访问,两个主要的关联容器类型是map和set.map中的元素是一些关键字-值对:关键字起到索引的作用,值则表示与索引相关联的数据.set中每个元素只包含一个关键字:set支持高效的关键字查询操作--检查一个给定关键字是否在set中. 3. 当从map中提取一个元素时,会得到一个pair

初学 Python(十一)——切片

初学 Python(十一)--切片 初学 Python,主要整理一些学习到的知识点,这次是切片. #-*- coding:utf-8 -*- ''''' 切片 ''' L = ['name','age','sex','address','company'] #取前2个 print L[0:2] print L[:2] #取倒数第一个 print L[-1] #取后两个 print L[-2:] #取倒数第二个 print L[-2:-1] print len(L) #隔一个数取一次,从第一个数开