• 第十一次


    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("请输入一串字符:
    ");
    	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("ÇëÊäÈëÁùλÃÜÂë:
    ");
    	i=1; 
    	scanf("%7s",input);
    	while(1)
    	{
    		if(strcmp(password,input)==0)
    	    {
    		    printf("µÇ½³É¹¦
    ");
    		    break;
    	    }  
    	    printf("ÃÜÂë´íÎóÇëÖØÐÂÊäÈë
    ");
    		if(i>=3)
    		{
    		   	printf("ÕË»§Òѱ»¶³½á
    ");
    		    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("ÇëÊäÈëÒ»¸ö×Ö·û´®
    ");
    	gets(str);
    	a=panduan(str);
    	if(a==1)
    	{
    		printf("ÊÇ»ØÎÄÊý
    ");
    	}
    	else if(a==0)
    	{
    		printf("²»ÊÇ»ØÎÄÊý
    ");
    	}
    	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语言帮到了很多。

  • 相关阅读:
    【数据结构与算法】用go语言实现数组结构及其操作
    ElasticSearch搜索引擎
    【系统】Libevent库和Libev
    pod管理调度约束、与健康状态检查
    使用yaml配置文件管理资源
    Oracle中exists替代in语句
    【oracle】通过存储过程名查看package名
    解决Flink消费Kafka信息,结果存储在Mysql的重复消费问题
    利用Flink消费Kafka数据保证全局有序
    Oracle 字符集的查看和修改
  • 原文地址:https://www.cnblogs.com/jg666666/p/6185166.html
Copyright © 2020-2023  润新知